5

已經開始與Core Data一起工作了,雖然我已經想出瞭如何在常規的Cocoa應用程序中使用它,但它在Cocoa Touch中似乎有點不同。如何將實體綁定到對象,如Cocoa Touch中的表格單元格?與NSArrayController等效的Cocoa Touch是什麼?

回答

4

如果您在iPhone OS 3.0及更高版本上使用CoreData,則需要查看NSFetchedResultsController。雖然不是NSArrayController的真正模擬,但它專門設計用於UITableView及其控制器。

它提供了一種根據需要從持久性加載元素的方法,同時要記住設備的性能和內存限制。它不像簡單地綁定事物那樣乾淨,但它可能會用少量代碼完成您需要的一切(以及更多!)。幸運的是,你的意思是:

+0

雖然我看到「UITableViewController」,卻沒有看到「NSFetchedResultsController」;他們是否類似?無論如何,我很難弄清楚如何將數組數據提供給控制器。 感謝有關環境差異的指針! – Kaji

+0

'NSFetchedResultsController'可以在這裏找到:http://developer.apple.com/iphone/library/documentation/CoreData/Reference/NSFetchedResultsController%5FClass/Reference/Reference.html – jbrennan

+0

'NSFetchedResultsController'基本上是一個輔助類, UITableView'和'UITableViewController'。它是一個模型類,它與CoreData對象一起工作,並準備將它們顯示在表格中。 – jbrennan

6

不幸的是,iPhone操作系統不支持綁定。請參閱Apple開發人員文檔中的this頁面。

我相信這意味着你不能在iPhone OS中使用NSArrayController。

+0

。 ArrayControllers是可怕的,並設置混淆。 – SpaceDog

1

Jergason是正確的:你不能在iPhone上使用綁定或NSArrayController與核心數據。

取而代之,檢出NSFetchedResultsController其中「旨在有效地管理從核心數據獲取請求返回的結果爲UITableView對象提供數據。」

相關問題