初始coredata保存冻结应用程序

时间:2011-11-17 17:50:02

标签: ios core-data nsoperationqueue

我有一个使用coredata和三种不同型号的iOS应用程序。数据从服务器的json提取中提取,然后保存。每个API调用都使用NSOperationQueue在线程上运行,因此它们永远不会同时执行。在最后的调用中,我保存到存储的最大模型,它是在保存发生之后应用程序挂起的。 UI变得无响应,调试器没有错误。这只发生在应用程序的第一次加载,之后每个后续加载运行完美。我已经尝试加载最后的api调用,但错误仍然发生。我收到委托回调controllerDidChangeContent:并且在方法中什么都不做。我很难过。谢谢大家的帮助。

1 个答案:

答案 0 :(得分:2)

冻结"您的应用是因为您最有可能通过NSManagedObjectContext将保存合并到主NSManagedObjectContextDidChangeNotification。这是iOS 5.0之前的已知限制。

您可以更新到5.0并使用已添加的父子MOC设计,或者您可以跳过合并上下文和-reset主要上下文并强制它在保存后重新加载相关数据。