Cocoa Touch中相当于NSArrayController的是什么?

6

我最近开始接触Core Data,虽然我已经知道了在普通的Cocoa应用程序中如何使用它,但是在Cocoa Touch中似乎有些不同。那么在Cocoa Touch中,如何将实体与对象(例如表格单元格)绑定起来呢?

3个回答

6

很遗憾,iPhone OS不支持绑定。请参阅苹果开发者文档中的此页面

我相信这意味着您无法在iPhone OS中使用NSArrayController。


你的意思是“幸运的是”。ArrayControllers 很糟糕,设置起来很混乱。 - Duck

4
如果您正在使用iPhone OS 3.0及以上版本的CoreData,您需要查看NSFetchedResultsController。虽然它不是NSArrayController的类似物,但它专门设计用于与UITableView及其控制器一起使用。
它提供了一种在需要时从持久性中加载元素的方法,考虑到设备的性能和内存限制。它没有简单地绑定事物那么干净,但只需少量代码即可完成您需要(甚至更多!)的所有操作。

我没有看到‘NSFetchedResultsController’,但是我看到了一个‘UITableViewController’;它们是类似的吗?无论如何,我遇到了问题,不知道如何将数组数据馈送给控制器。感谢您指出一些环境差异! - Kaji
NSFetchedResultsController可以在这里找到:http://developer.apple.com/iphone/library/documentation/CoreData/Reference/NSFetchedResultsController_Class/Reference/Reference.html - jbrennan
NSFetchedResultsController 基本上作为 UITableViewUITableViewController 的帮助类。它是一个模型类,可以处理你的 CoreData 对象,并为在表格中显示做好准备。 - jbrennan

1
Jergason 是正确的:在 iPhone 上不能使用绑定或 NSArrayController 来操作 Core Data。相反,可以查看一下 NSFetchedResultsController,它“旨在有效地管理从 Core Data 获取请求返回的结果,以为 UITableView 对象提供数据”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接