保存时的核心数据问题

时间:2011-07-29 22:55:14

标签: iphone objective-c ipad core-data restkit

我已经处理了这个问题差不多一个星期了。我正在使用一个名为restkit的框架,我一直试图通过浏览RestKit中的代码来调试它。它进一步停止执行的地方是当我尝试保存到NSManagedObjectContext时。我附上了一个可以下载的样本测试项目here。基本上要重现错误,您必须执行以下操作:

  1. 首次运行应用程序,直到表视图中的数据加载
  2. 停止应用
  3. 第二次运行应用程序,然后您将看到一个永无止境的加载微调器
  4. 当它试图保存到位于RKManagedObjectStore.m上的托管对象上下文时,这基本上被卡住了,方法保存(我确实在那里放了一个断点)。我试图确保一切正常,从模型开始等等......但我不知道这里到底发生了什么。有人可以帮忙吗?我在上面添加超链接的测试项目非常简单......

2 个答案:

答案 0 :(得分:1)

这是一个非常奇怪的问题。我会看一下RestKit附带的DBDiscussionBoardExample,也许可以重新开始。在RestKit与Three20的界面中看起来有一个无限循环。

我也觉得很奇怪你的服务器不会用json响应,除非路径包含“.json”,即使标题要求json。

如果你在不使用Three20的情况下使用RestKit,你会为自己省去很多麻烦。除非您的应用由于某种原因需要Three20,否则我发现它只是对代码进行了回旋。 RestKit有一个非常干净的界面,可以按原样访问CoreData。

那就是说,如果你愿意的话,你可以把它作为一个bug存放在RestKit的github repo中。

我必须手动将Three20添加到您的项目中才能加载它。在查看了您的项目后,我发现为什么您不能真正指出导致问题的单个位置,但您应该尝试让想要帮助的人更容易 - 考虑在项目中包含依赖项,或者设置git带子模块的repo。

答案 1 :(得分:0)

您链接到的项目不是开箱即用的。

您是否尝试从失败的保存中打印NSError实例。核心数据非常适合解释它遇到的错误。几乎太好了,因为你可能会在该错误中有很多子错误来浏览。