3

如何对控制台中收到的 _NSCoreDataOptimisticLockingException 消息进行故障排除?或调试它?

我正在使用后台线程来更新核心数据上下文,并且我正在将主线程上的上下文与主线程对象合并,但是我收到了这些控制台消息,我无法看到它们来自哪里。

objc[58487]: EXCEPTIONS: catch(_NSCoreDataOptimisticLockingException)
objc[58487]: EXCEPTIONS: unwinding through frame [ip=0x2235ec7 sp=0xb08e8a10] for exception 0x3dd42950
objc[58487]: EXCEPTIONS: unwinding through frame [ip=0x22622a6 sp=0xb08e8ad0] for exception 0x3dd42950
objc[58487]: EXCEPTIONS: handling exception 0x3dd42950 at 0x226234a
objc[58487]: EXCEPTIONS: finishing handler

@jonusx 的第一个答案谈到使用嵌套上下文来处理这种情况,但是当针对 iOS 4 SDK 时,可以做些什么来调试这些异常呢?提前致谢。

4

1 回答 1

0

该错误来自无法从两个上下文正确合并的更改。你到底是怎么做你的背景的?您应该尝试使用新的 iOS 5 嵌套上下文进行后台保存。父级可以在私有队列中,而子级(后台上下文)在线程限制队列中。子节点的保存被推送到主上下文。在后台完成后,只需保存父上下文以将更改保存到磁盘。

于 2012-05-22T04:49:28.820 回答