0

我有应该从后台更改的数据。有一种方法可以在后台运行并初始化 new NSManagedObjectContext,进行更改并调用 save。然后我NSManagedObjectContextDidSaveNotification在通知对象中得到了正确的数据。接下来我打电话

[mainManagedObjectContext performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:)
                                           withObject:notification 
                                        waitUntilDone:YES];

但在我UITableViewController没有任何改变,我没有进入

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller

或者

- (void)controller:(NSFetchedResultsController *)controller 
   didChangeObject:(id)anObject 
       atIndexPath:(NSIndexPath *)indexPath 
     forChangeType:(NSFetchedResultsChangeType)type 
      newIndexPath:(NSIndexPath *)newIndexPath

当我在主线程中对主上下文进行相同的更改时,一切正常。我之前有一些从后台线程合并的成功经验,但这种情况让我发疯,所以我正在寻求帮助。

谢谢。

4

1 回答 1

0

如果您在合并后保存主上下文,IIRC 获取的结果控制器只会收到更新通知。

于 2012-12-13T18:20:08.583 回答