为什么没有为已删除的记录调用FetchedResultsController委托方法?

时间:2014-02-06 03:29:24

标签: ios core-data nsfetchedresultscontroller

只是想知道是否有其他人发现通过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调用它的委托方法。

0 个答案:

没有答案