当讨论使用具有后台线程的核心数据时,Apple "Concurrency with Core Data" documentation声明如下。在后台线程上安全保存核心数据管理对象上下文的正确方法?
保存在后台线程是容易出错的
异步队列和线程不会阻止应用程序 狭路相逢。 (具体而言,所有基于NSThread线程是“分离” - 见 的并行线程完整的文档细节和进程运行 只有等到所有未脱离线程已经退出。)
,特别是:
如果您需要保存在后台线程上,则必须编写其他代码,以便主线程可以阻止应用程序退出,直到完成所有保存操作。
在IOS应用程序中实现这个功能的推荐方法是什么?
+1对,但一定要注意,“相关方法”包括'applicationDidEnterBackground' - 应用程序可以进入后台,然后暂停并终止,无需任何进一步通知。 – 2011-04-22 16:06:27
谢谢。我没有在IOS框架内用线程做过很多,你是否有一些示例代码,或者你可以指示我如何从应用程序中的未保存更改访问和检查线程的一些文档的方向委托类。 – lucasweb 2011-04-22 18:06:17
一切都取决于你如何真正实现了线程。例如,如果您使用的是“NSOperationQueue”,则可以使用“waitUntilAllOperationsAreFinished”。 – paulbailey 2012-07-29 09:47:13