丢弃NSManagedObjects

时间:2011-07-04 16:41:08

标签: multithreading cocoa core-data nsmanagedobject

我在新线程中创建一个新的托管对象上下文,并在其中插入一些对象。我可以通过不保存上下文来丢弃(只是忘记它们)吗?我的问题是这样的:我启动一个lenghty进程,在开始时创建一些NSManagedObjects并将它们保存在最后(将它们合并回主存储)。这发生在NSOperation中。我希望用户能够随时退出应用程序而无需等待该过程完成。我可以杀死手术并保存吗?我的理解是,这是可能的,因为上下文在没有保存的情况下不会持续存在。对?

1 个答案:

答案 0 :(得分:0)

是的,您可以这样做,但如果后台操作处理任何用户数据,则不应该这样做。

MacOS上的UI语法教会用户希望保存所有数据,除非他们另有说明。

由于在绝大多数情况下保存几乎是即时的(从用户的角度来看),最好向后台操作发送通知,告诉它停止并保存。