在后台线程上安全保存Core Data托管对象上下文的正确方法?

luc*_*web 4 multithreading core-data nsmanagedobjectcontext ios

苹果"并发核心数据"的文件规定使用的核心数据与后台线程讨论时以下.

保存在后台线程中容易出错

异步队列和线程不会阻止应用程序退出.(具体来说,所有基于NSThread的线程都是"分离的" - 请参阅pthread的文档以获取完整的详细信息 - 并且只有在所有未分离的线程都退出之后才会运行.)

特别是:

如果需要保存在后台线程上,则必须编写其他代码,以便主线程阻止应用程序退出,直到完成所有保存操作.

在IOS应用程序中实现此目的的推荐方法是什么?

Tec*_*Zen 5

在app委托applicationWillTerminate和相关方法中,您需要检查是否有任何后台线程有未保存的更改,并在允许应用程序终止或进入后台之前保存它们.