我在使用RestKit 0.22和Core Data时遇到了问题。为了确保我的项目的其余部分不会导致问题,我在RestKit示例中使用RKTwitterCoreData重现它。我只是删除种子部分以开始一个空的sqlite数据库。我的应用程序基于相同的概念。
第一次运行应用时出现问题。该应用程序从Twitter接收数据并显示它。但是,如果我查看sqlite数据库本身,它就是空的。当我第二次启动应用程序时,数据库正在填充。
RestKit是否可以在收到数据时保存数据?
RestKit是否有可能在保存之前缓存所有数据。我发现我的问题是因为RKManagedObjectStore
中的managedObjectCache设置为RKInMemoryManagedObjectCache
但我也尝试使用RKFetchRequestManagedObjectCache
并得到了相同的结果。
我还尝试使用[[[RKManagedObjectStore defaultStore] persistentStoreManagedObjectContext] save:nil]
在成功集团中手动保存并且无效。
谢谢
答案 0 :(得分:1)
RestKit会在调用成功完成块之前自动保存映射结果。
如果要检查商店中的内容,请询问MOC(主线程或持久存储MOC)并检查registeredObjects
/运行获取请求。
您不应该查看SQLite文件。表结构是一个私有的实现细节,如果您在命令行中使用错误的选项加载文件,您将无法看到您的期望。