RestKit 托管对象上下文为零

Posted

技术标签:

【中文标题】RestKit 托管对象上下文为零【英文标题】:RestKit Managed Object Context goes nil 【发布时间】:2012-05-04 23:30:59 【问题描述】:

好的,所以我正在使用 RestKit,它在 JSON + Rest 部分工作得很好,但实现 Core Data 却令人毛骨悚然。

本质上,我有一个包含 RKObjectManager 的 DaoManager 单例。在我的单身人士中:

    我通过 RestKit 将一些对象加载到 CoreData 中,并使用有效的 ManagedObjectContext(每个)取回有效的 NSManaged 对象。 我将这些对象保存到一个实例数组中,然后对一些非托管对象调用 NSOperation。 NSOperation 在主线程上的 Singleton 上调用回调方法,我可以看到我的 NSManaged 对象仍然可用,但从它们内部,ManagedObjectContext 现在为零/空。

这对我的影响是,当我第二次尝试修改这些对象的任何属性时,我得到一个 CoreData 异常,我相信这是因为 MOC 现在为零。

注意:RKObjectManager 和 RKObjectstore 在整个过程中仍然有效。

还有其他人遇到过这种情况吗? RestKit 设置的 MOC 的问题是它不是真正可见的。它应该以这种方式自己处理所有事情。

任何帮助表示赞赏。谢谢!

【问题讨论】:

【参考方案1】:

好吧,我最终放弃了 RestKit + CoreData,因为我无法让它工作。

相反,我继续使用 Restkit 从 JSON 映射对象,但随后我使用自己的 Core Data 对象将一些重要属性保存到本地数据存储(即图像)。

【讨论】:

以上是关于RestKit 托管对象上下文为零的主要内容,如果未能解决你的问题,请参考以下文章

如何在 RestKit 中请求托管对象而不将其写回托管对象上下文?

通过 RestKit 发布 ManagedObject 会导致“无法更新从未插入的对象”

解决RestKit中的CoreData合并冲突,当一个上下文正在保存对象更新而另一个正在删除对象时

核心数据:我的托管对象上的托管对象上下文为零

RestKit/CoreData 没有立即将关系保存到持久存储

初始化托管对象而不插入托管对象上下文时,核心数据对象属性为零