11

完全に正常に動作するプログラムがあります。クラッシュもバグも何もありませんが、NSManagedObject を削除すると、コンソールに次のメッセージが表示されます。

Core Data: annotation: repairing missing delete propagation for to-one relationship

そして、関係についてのいくつかの詳細。

繰り返しますが、これによってアプリがクラッシュすることはなく、プログラムは期待どおりに実行されますが、それでも心配になります. 私はそれについて何かをする必要がありますか、それとも Core Data からいくつかの注釈を付けても大丈夫ですか?

前もって感謝します :)

4

4 に答える 4

7

削除に関しては、より適切な戦略を採用する必要があります。

  1. .xcdatamodeld に移動し、関連する関係を選択します

  2. 逆関係を使用してエンティティと関係を選択します

  3. ルールの削除で何をするかを選択する

    ここに画像の説明を入力

于 2014-12-03T10:27:21.357 に答える
5

管理対象オブジェクトを削除した後、コンテキストを保存する必要があります。

何かを削除した後:

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSError *error;
if (![appDelegate.managedObjectContext save:&error]) {
    NSLog(@"Error in Appdelegate>getLocalVersionAddFirstVersion");
}

コンテキストが保存されるまで新しいオブジェクトがストアに保存されないのと同様に、削除されたオブジェクトはコンテキストが保存されるまでストアから削除されません。(アップルのドキュメント)

于 2013-02-16T14:11:57.210 に答える
5

問題の関係に逆関係を追加するとすぐに、私は同じ問題を抱えていましたが、それはなくなりました。

于 2014-06-01T14:40:18.337 に答える