2

我已经经历了几天的痛苦,使用 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个问题:

  1. 我现在是否必须通过 RKManagedObjectStore 做所有事情?
  2. 我可以让 RestKit 使用现有的核心数据包而不是像上面那样创建 .sqlite 文件吗?

谢谢,本

4

2 回答 2

2

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

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

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

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

于 2012-11-22T15:17:54.770 回答
0

似乎您缺少对 Core Data 工作原理的一般理解。随意阅读本教程以提高您对它的了解。

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

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

于 2012-11-25T10:27:54.020 回答