ios - 初始核心数据保存卡住应用程序

标签 ios core-data nsoperationqueue

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

最佳答案

它正在“卡住”您的应用程序,因为您很可能通过 NSManagedObjectContextDidChangeNotification 将保存合并回主 NSManagedObjectContext。这是 iOS 5.0 之前的已知限制。

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

关于ios - 初始核心数据保存卡住应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171869/

相关文章:

ios - 如果两个 iBeacon 靠得很近,一个信号能否在传输到设备 (iPhone) 时覆盖另一个信号

iphone - iPhone 终端用户更新应用程序需要多长时间?

iphone - 获取永久 ID 后,核心数据无法为对象完成故障

ios - 创建内存累积的 AFHTTPRequestOperations 队列

ios - NSOperationQueue currentQueue 不工作

ios - 放大镜显示 UIWindow 在后面

ios - NativeScript 中的 self.window

iphone - 核心数据建模基础知识

Cocoa Core Data 和 Tab View - 如何判断 Tab View 何时完成 "loading",以便我可以告诉 View 自行初始化?

iphone - EXC_BAD_ACCESS 在向数组添加数据时,同时使用 2 个 NSOperations