使用performBlock时NSFetchedResultsController不更新:

时间:2014-04-22 05:09:41

标签: ios core-data nsfetchedresultscontroller nsmanagedobjectcontext

我有NSManagedObjectContextmoc,并发类型为NSMainQueueConcurrencyTypemoc也与NSFetchedResultsController相关联。 NSFetchedResultsController委托方法已正确实施。

主线程上执行以下代码时,我的NSFetchedResultsController无法刷新(未调用委托方法)

[moc performBlock:^{
  ...
  [moc save:&error]; 
}];

使用以下内容时,正确调用NSFetchedResultsController的委托方法:

[moc performBlockAndWait:^{
  ...
  [moc save:&error]; 
}];

(它也会在不调用performBlockAndWait:的情况下刷新并执行没有块的代码。)。

为什么?

注意:我知道我不一定要调用performBlock / performBlockAndWait,因为我已经在主线程上了,但是我不知道将来是否会改变它。

0 个答案:

没有答案