在iOS上观察特定实体类型的托管对象上下文更改的最有效方法是什么?

时间:2013-01-31 11:57:32

标签: ios objective-c core-data

道歉,如果在其他地方已经讨论过死亡,但我找不到直接解决我的问题的问题。

我正在开发一个应用程序,它以JSON格式从远程服务器下载对象,并将结果转换为核心数据对象。

有一段时间我一直在使用NSFetchedResultsController来观察应用过滤器NSPredicate的特定实体类型的对象更改。此处的目的是仅在添加,修改或删除符合特定条件的托管对象时通知更改。

我知道NSManagedObjectContextObjectsDidChangeNotification NSManagedObjectContext,但我的理解是-userInfo字典包含所有对象更改,无论实体如何。

我的担心可能毫无根据,但由于我没有使用NSFetchedResultsController来管理UITableView,我是否因为此目的使用课程而浪费了?

当添加,修改或删除特定实体类型和属性值的对象时,是否有更好的通知方式?

非常感谢。

P.S。我知道Cocoa中NSArrayController的可用性似乎包含了我需要的功能,尽管我还没有尝试过。此类不适用于iOS。

2 个答案:

答案 0 :(得分:3)

NSManagedObjectContextObjectsDidChangeNotification

只要插入/更新/删除上下文中的托管对象,它就会提供通知。


,您可以使用custom NSManagedObject子类

答案 1 :(得分:2)

我过去使用NSFetchedResultsController来跟踪我感兴趣的Core Data对象的更改。没有任何内容表明你必须将它绑定到UITableView实现。

那就是说,你可能想看看这个问题:Using NSFetchedResultsController Without UITableView