gpt4 book ai didi

ios - 将 mergeChangesFromContextDidSaveNotification 触发 fetchedResultsController 的 objectsChanged : delegate methods?

转载 作者:行者123 更新时间:2023-11-29 13:19:25 26 4
gpt4 key购买 nike

我有一个设置,在后台线程中我将新对象保存在 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 是 NSFetchedResultsController 从 MOC B 读取数据的委托(delegate)。

我发现委托(delegate)方法 controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:controllerDidChangeContent: 在收到来自 MOC A 的通知后不会被调用。

我是否必须重新获取 MOC B 的 fetchedResultsController 中的数据才能看到 MOC A 中添加的新对象?

最佳答案

开发者,

当然,您已经设置了获取结果 Controller 委托(delegate)?如果不这样做,就无法调用任何内容。

安德鲁

关于ios - 将 mergeChangesFromContextDidSaveNotification 触发 fetchedResultsController 的 objectsChanged : delegate methods?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com