-1

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

  1. 首次运行应用程序,直到加载表格视图上的数据
  2. 停止应用程序
  3. 第二次运行应用程序,然后你会看到一个永无止境的加载微调器

当它尝试保存到位于 RKManagedObjectStore.m 上的托管对象上下文时,这基本上被卡住了,方法 save(我确实在那里放了一个断点)。我试图确保一切正常,从模型开始,等等......但我不知道这里到底发生了什么。有人可以帮忙吗?我在上面放超链接的测试项目很简单...

4

2 回答 2

1

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

我也觉得奇怪的是,除非路径包含“.json”,否则您的服务器不会响应 json,即使标头要求 json。

如果你在没有 Three20 的情况下使用 RestKit,你会省去很多麻烦。除非您的应用出于某种原因需要 Three20,否则我发现它只会使代码复杂化。RestKit 有一个非常干净的接口,可以按原样访问 CoreData。

也就是说,如果您愿意,可以在 RestKit 的 github 存储库中将此作为 bug 提交。

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

于 2011-07-30T21:28:30.833 回答
0

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

您是否尝试过从NSError失败的保存中打印实例。Core Data 非常擅长解释它遇到的错误。几乎太好了,因为您可能会在该错误中浏览许多子错误。

于 2011-07-29T23:04:48.987 回答