fer*_*tar 12 iphone core-data objective-c
我有一个NSManagedObjectContext,我对模型进行了一些更改,然后......"提交"事务,做什么之间的区别是什么:
[context save:&error];
和
[context processPendingChanges];
看起来他们都做同样的事情.
ama*_*ttn 22
简而言之,processPendingChanges更改当前对象图的状态.  save将当前对象图保存到磁盘.
通话save将processPendingChanges自动拨打电话.
如果您想到文字处理器中的文本文件,save则类似于将文档保存到磁盘.  
processPendingChanges类似于告诉文字处理器在编辑后更新文档的内部状态,但不保存到磁盘.这通常会触发对UI的更新,例如更新显示的单词或行数,执行任何必要的格式化等等...
根据我的经验,对于iPhone,您很少需要processPendingChanges.  我相信它主要用于Mac OS X并处理高级或复杂的撤消管理或更新UI绑定.
对于iPhone,通常会触发NSFetchedResultsControllers来更新表视图.即便如此,这种情况也很少见.如果你不确定只是坚持save
有关详细信息,请研究文档之间NSManagedObjectContextDidSaveNotification和之间的区别NSManagedObjectContextObjectsDidChangeNotification.