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 核心数据集成的主要内容,如果未能解决你的问题,请参考以下文章
不使用 Web 服务时如何使用来自 RestKit 的核心数据?