【发布时间】:2016-07-02 11:13:23
【问题描述】:
我构建了一个简单的应用程序来检索一些 JSON 并将数据存储在 Core Data 中。
在模拟器或设备上初始安装时,所有核心数据操作都很好,但重新运行时,我收到以下错误消息:
2016-07-02 13:23:53.925 En Yakın[84775:5379467] CoreData: error: Mutating a managed object 0x79736290 <x-coredata:///Category/t4B10F995-A717-4DB8-9E87-8A1C079D45D42> (0x79736250) after it has been removed from its context.
视觉上没有任何问题。所有数据均按预期呈现,应用功能正常。
我调试了这个问题。如果我注释掉 JSON 检索函数并让应用程序在初始运行后使用 Core Data 中的内容,则不会显示任何错误消息。但是让应用再次检索会导致与我的核心数据堆栈(作为单例对象实现)的错误通信。
我应该如何修改我的核心数据实现?
更新
我相信我已经找到了问题的核心。我正在存储已下载的大约 6 KB 的缩略图。我发现存储图像会影响 Core Data 的性能。但是这种大小的缩略图也会有问题吗?如果我删除实体的图像分配,错误就会消失。我应该将它们存储在文件结构中吗?
【问题讨论】:
-
我猜您在处理 JSON 时断开了关系,删除规则正在删除某些内容并且您没有完全更新 UI?!?
-
@Wain 请查看问题更新