我有NSManagedObjectContext
,moc
,并发类型为NSMainQueueConcurrencyType
。 moc
也与NSFetchedResultsController
相关联。 NSFetchedResultsController
委托方法已正确实施。
在主线程上执行以下代码时,我的NSFetchedResultsController
无法刷新(未调用委托方法)
[moc performBlock:^{
...
[moc save:&error];
}];
使用以下内容时,正确调用NSFetchedResultsController
的委托方法:
[moc performBlockAndWait:^{
...
[moc save:&error];
}];
(它也会在不调用performBlockAndWait:
的情况下刷新并执行没有块的代码。)。
为什么?
注意:我知道我不一定要调用performBlock / performBlockAndWait,因为我已经在主线程上了,但是我不知道将来是否会改变它。