只是想知道是否有其他人发现通过iCloud同步的删除不会触发在导入事务日志的设备上调用fetchedResultsController
委托方法?
导入事务日志是因为我收到了NSPersistentStoreDidImportUbiquitousContentChangesNotification
通知,但是没有调用fetchedResultsController方法。
插入或更新记录事务导入会导致正确调用委托方法。
调用performFetch
可以正确更新结果集,但通常在reloadData
上调用UITableView
就可以正确更新UI。
如果我在合并更改后在上下文中调用save
,这也很有效 - 从来没有这样做过。
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
NSError *error;
if ([self.managedObjectContext hasChanges]) {
[self.managedObjectContext save:&error];
}
知道为什么只删除不会触发fetchedResultsController委托方法?似乎突然出现了一个新问题。我很确定以前从来没有遇到过这个问题 - 也许其他人可以用sample apps here之一确认这种行为。
EDIT 看来检查[moc hasChanges]有时返回NO但是调用[moc save]仍然会导致fetchedResultsController调用它的委托方法。