0

私は3つのテーブルuserID、1つの関係を持つプロファイルとsearchId、プロファイルは1つの関係を持っています。両方の関係で削除ルールをNullifyに設定しました。Restkitを使用してサーバーからjsonデータをマッピングしている2つのViewControllerがあります。

ビューコントローラ1の場合:このビューでは、データはサーバーからフェッチされ、Restkitを使用してDBにマッピングされます。(userID->プロファイル)

View Contrller 2:データはサーバーから取得され、DBにマップされます(searchID->プロファイル)。

View Controller 1には更新ボタンがあり、サーバーからデータをフェッチしてデータベースをマップ(更新)します。

問題:View Controller 1がサーバーからデータをロードした後、サーバーからデータをロードするViewController2でデータを検索しようとしています。これらのデータをViewController1UIに読み込んでいます(ViewController1の結果とViewController2の結果は同様の形式であるため)ここでは問題ありません。

しかし、更新ボタンをもう一度クリックすると、アプリが次のエラーでクラッシュしました。私は問題を理解することができません。

*** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'CoreData could not fulfill a fault for '0x8b4b950 <x-coredata://EE00CF63-BECD-40FC-B531-1424930D75D6/USERID/p42>''
*** First throw call stack:
(0x2b78022 0x2d28cd6 0x230b506 0x230b0a7 0x230ac86 0x2316db9 0x2316c26 0x231a38e 0x234a5f6 0x2338df7 0x233791e 0x233765d 0x2336f0a 0x1d59d91 0x1d59895 0x1d3f33e 0x231af3f 0x231a449 0x234a5f6 0x2338df7 0x23379ec 0x233765d 0x2336f0a 0x1d59d91 0x1d59895 0x1d3f33e 0x231af3f 0x231a449 0x234a5f6 0x2338df7 0x2338d64 0x1d70d50 0x273ebd 0x274727 0x1d7463e 0x1d6d1e7 0x1d6ceea 0x29c725 0x2a78b0 0x29e0f7 0x29e773 0x29ea5a 0x28ed330 0x28eef0c 0x28eecb4 0x28ee402 0x97dd7b24 0x97dd96fe)
terminate called throwing an exception

どんな助けでも大歓迎です

4

1 に答える 1

1

更新ボタンを押す前に、すべての管理オブジェクト コンテキストが保存されていますか? 「CoreData は障害を実行できませんでした」というエラーは、Core Data が特定の ID を持つ行を見つけようとしたが、行が見つからなかったことを意味します。これは、マネージド オブジェクトをスレッド間で渡す場合 (絶対に行うべきではなく、オブジェクト ID を渡す必要があります)、またはオブジェクトが作成されたコンテキストを保存せずにスレッド間で ID を渡す場合に発生する可能性があります。

于 2013-01-15T22:01:47.527 に答える