核心数据不是第一次保存

时间:2014-04-25 13:11:49

标签: ios core-data restkit restkit-0.20

我在使用RestKit 0.22和Core Data时遇到了问题。为了确保我的项目的其余部分不会导致问题,我在RestKit示例中使用RKTwitterCoreData重现它。我只是删除种子部分以开始一个空的sqlite数据库。我的应用程序基于相同的概念。

第一次运行应用时出现问题。该应用程序从Twitter接收数据并显示它。但是,如果我查看sqlite数据库本身,它就是空的。当我第二次启动应用程序时,数据库正在填充。

RestKit是否可以在收到数据时保存数据?

RestKit是否有可能在保存之前缓存所有数据。我发现我的问题是因为RKManagedObjectStore中的managedObjectCache设置为RKInMemoryManagedObjectCache但我也尝试使用RKFetchRequestManagedObjectCache并得到了相同的结果。

我还尝试使用[[[RKManagedObjectStore defaultStore] persistentStoreManagedObjectContext] save:nil]在成功集团中手动保存并且无效。

谢谢

1 个答案:

答案 0 :(得分:1)

RestKit会在调用成功完成块之前自动保存映射结果。

如果要检查商店中的内容,请询问MOC(主线程或持久存储MOC)并检查registeredObjects /运行获取请求。

您不应该查看SQLite文件。表结构是一个私有的实现细节,如果您在命令行中使用错误的选项加载文件,您将无法看到您的期望。