我有一个设置,在后台线程中,我将新对象保存在managedObjectContext A中,在TableViewController中,我侦听NSManagedObjectContextDidSaveNotification并处理通知,如下所示:
- (void) refreshData:(NSNotification *)notif {
assert([[self fetchedResultsController] managedObjectContext] == self.managedObjectContext);
if ([notif object] != self.managedObjectContext) {
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notif];
}
}self.managedObjectContext是MOC B,连接到与MOC A相同的NSPersistentStoreCoordinator (线程限制模式1)。
TableViewController是从MOC B读取数据的NSFetchedResultsController的委派。
我发现委派方法controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:和controllerDidChangeContent:在收到MOC A的通知后没有被调用。
我是否必须重新获取MOC B的fetchedResultsController中的数据才能查看MOC A中添加的新对象?
发布于 2013-02-07 20:40:15
devQry,
当然,您已经设置了fetched results控制器委托?如果不这样做,就不能调用任何东西。
安德鲁
https://stackoverflow.com/questions/14735764
复制相似问题