2010-06-10 24 views

回答

1

我使用-processPendingChanges的两种情况涉及撤消撤消的分组和临时禁用。

例如,我想组涉及的特定项目(这可能导致他人或其他变化的数据模型的缺失)的删除的所有核心数据的动作,所以就用类似下面的代码:

[[[targetOperationController managedObjectContext] undoManager] beginUndoGrouping]; 
[targetOperationController deleteSelectedOperation]; 
[[targetOperationController managedObjectContext] processPendingChanges]; 
[[[targetOperationController managedObjectContext] undoManager] endUndoGrouping]; 

为了保证由-deleteSelectedOperation方法中的操作触发的所有数据模型更改将被组合在一起,我使用-processPendingChanges来确保它们都在撤消分组块中注册。

您可以通过用-disableUndoRegistration-enableUndoRegistration替换撤消分组来取消忽略所有数据模型更改。

相关问题