cai*_*guo 20 core-data objective-c nsmanagedobjectcontext
文件说:
Run Code Online (Sandbox Code Playgroud)- (void)reset将接收器返回到其基本状态.
讨论
所有接收方的托管对象都被"遗忘".如果使用此方法,则应确保还丢弃对使用接收方获取的任何托管对象的引用,因为它们之后将无效.
Run Code Online (Sandbox Code Playgroud)- (void)rollback从撤消堆栈中删除所有内容,放弃所有插入和删除,并将更新的对象还原为其上次提交的值.
讨论
此方法不会从持久性存储库中重新获取数据.
似乎在我对我的上下文做了一些更改之后,调用这两个方法将完全相同:丢弃更改并将更新的对象恢复为其上次提交的值.那-reset实际上做了什么?
Pau*_*l.s 40
关键部分在引用中
所有接收者的管理对象都被"遗忘"了.
- (void)reset;会给你一个干净的NSManagedObjectContext,没有任何对象,因为文档说明NSManagedObject你周围的任何东西都应该被丢弃,因为它们不再有效.
- (void)rollback将只恢复NSManagedObject他们的持久价值
Lil*_*ard 12
-reset不同之-rollback处在于它使NSManagedObject从上下文中获取的任何s 无效.试图使用这些对象可能会引发异常.但是,-rollback只是丢弃未保存的更改.
| 归档时间: | 
 | 
| 查看次数: | 10098 次 | 
| 最近记录: |