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

このエラーは、2 つのコンテキストから適切にマージできない変更が原因です。バックグラウンドをどのように正確に行っていますか?バックグラウンドで保存するには、新しい iOS 5 のネストされたコンテキストを試してください。親はプライベート キューにあり、子 (バックグラウンド コンテキスト) はスレッド限定キューにあります。子の保存は、マスター コンテキストにプッシュされます。バックグラウンドでの作業が完了したら、親コンテキストを保存して、変更をディスクに保存します。

于 2012-05-22T04:49:28.820 に答える