2
我想在哪种情况下调用NSManagedObjectContext的-processPendingChanges?我想在哪种情况下调用NSManagedObjectContext的-processPendingChanges?
我想在哪种情况下调用NSManagedObjectContext的-processPendingChanges?我想在哪种情况下调用NSManagedObjectContext的-processPendingChanges?
我使用-processPendingChanges
的两种情况涉及撤消撤消的分组和临时禁用。
例如,我想组涉及的特定项目(这可能导致他人或其他变化的数据模型的缺失)的删除的所有核心数据的动作,所以就用类似下面的代码:
[[[targetOperationController managedObjectContext] undoManager] beginUndoGrouping];
[targetOperationController deleteSelectedOperation];
[[targetOperationController managedObjectContext] processPendingChanges];
[[[targetOperationController managedObjectContext] undoManager] endUndoGrouping];
为了保证由-deleteSelectedOperation
方法中的操作触发的所有数据模型更改将被组合在一起,我使用-processPendingChanges
来确保它们都在撤消分组块中注册。
您可以通过用-disableUndoRegistration
和-enableUndoRegistration
替换撤消分组来取消忽略所有数据模型更改。