【发布时间】:2014-09-09 08:14:17
【问题描述】:
我的项目中有带有 Core Data 和 NSFetchedResultsController 的 RestKit 0.23.0。我想更改实体的属性并在- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller 中重新加载我的视图。
我从objectManager.managedObjectStore.mainQueueManagedObjectContext 获得了我想要更改的托管对象,更改属性并调用objectManager.managedObjectStore.mainQueueManagedObjectContext saveToPersistentStore:&error]。调用了controllerDidChangeContent方法,但是当时数据并没有写入数据库。
在NSManagedObjectContext+RKAdditions.m调试后,看到success = [contextToSave save:&localError];被调用了两次。第一次运行触发controllerDidChangeContent(当时数据未写入数据库),第二次调用将数据写入数据库,但不调用controllerDidChangeContent。
任何想法我做错了什么?
【问题讨论】:
-
只需要再次测试,无需调用保存。谁知道 RestKit 在幕后做了什么。
-
感谢您的回复。如果我不打电话给
saveToPersistentStore,我在NSFetchedResultsController中看不到performFetch的变化。也许这里有问题?
标签: core-data ios7 restkit nsfetchedresultscontroller