【发布时间】:2010-11-02 22:07:19
【问题描述】:
我正在开发一个应用程序,该应用程序将其数据保存在外部 MySQL 服务器中,但使用 Core Data 将其缓存在本地以获得更好的响应时间。基本上,我想做的是:
- 从 Core Data(SQLite 数据存储,使用 NSFetchedResultsController)获取数据并显示它
- 在后台从 MySQL 服务器获取新项目
- 使用新数据集(新旧项目)刷新当前表视图
除了最后一步,我已经完成了所有这些工作。我不太清楚如何让 NSFetchedResultsController 更新其数据集。到目前为止,我已经尝试将项目直接添加到它的 NSManagedObjectContext:
[NSEntityDescription insertNewObjectForEntityForName:@"Entity"
inManagedObjectContext:[fetchedResultsController
managedObjectContext]];
我还尝试了 Apple 在他们的 CoreDataBooks 示例中所做的事情,并使用了单独的“添加”托管对象上下文和对 mergeChangesFromContextDidSaveNotification: 的调用。似乎都没有改变我获取的结果控制器的托管对象上下文中当前的 NSManagedObject*s 集。
我将如何更新 NSFetchedResultsController 当前管理的对象集?
【问题讨论】:
标签: objective-c caching core-data