RestKit 核心数据集成

Posted

技术标签:

【中文标题】RestKit 核心数据集成【英文标题】:RestKit Core Data Integration 【发布时间】:2012-11-21 19:08:09 【问题描述】:

我已经经历了几天使用 RestKit 映射一些 JSON 的痛苦。作为 Core Data 的新手,我假设一旦 RestKit 将数据映射到我的 RestKit 创建的数据库,即

objectManager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"EFrontCD.sqlite"];

我可以离开 RestKit 世界。然后我尝试将我的数据加载到实现 RKManagedObjectStore 协议的 UITableViewController 并执行通常的操作,但我收到错误

UIManagedDocument can only read documents that are file packages 

2 个问题:

    我现在是否必须通过 RKManagedObjectStore 执行所有操作? 我可以让 RestKit 使用现有的 Core Data 包而不是像上面那样创建 .sqlite 文件吗?

谢谢, 本

【问题讨论】:

【参考方案1】:

回答我问题的第一部分,这就是我想要的:

RKObjectManager *objectManager = [RKObjectManager sharedManager];
objectManager.objectStore.managedObjectContextForCurrentThread

一旦您可以访问为您创建的 MOC RestKit,那么一切似乎都是一样的 - 我可以做通常的 Core Data 工作。

我仍然不清楚第二个问题,但肯定想知道这是否可能。

【讨论】:

【参考方案2】:

您似乎缺少对 Core Data 工作原理的一般理解。请随时阅读this tutorials 以提高您对它的了解。

Core Data 总是使用数据存储(这可以是 SQLite、XML,...),当您告诉 RestKit 使用 SQlite 作为 objectStore 时,它​​会使用。

要获取其中的数据,您必须使用获取请求并链接到 ManagedObjectContext,这是数据存储和数据之间的一种处理程序。

【讨论】:

以上是关于RestKit 核心数据集成的主要内容,如果未能解决你的问题,请参考以下文章

RestKit 和核心数据 - 如何发布数据?

不使用 Web 服务时如何使用来自 RestKit 的核心数据?

将 ResKit 集成到现有的 Core Data 应用程序中

Restkit 集成到 iOS 项目中

使用cocoapods的restkit项目集成错误

RestKit 集成问题“没有这样的文件或目录”