CoreData を使用して永続データと一時データの両方を管理するプログラムがあります。
ある例では、ユーザーがキャンセルを押したときにオブジェクトを削除して、一部のデータの追加を中止します。しかし、次のビューにアクセスすると、データはまだそこにあり、親のコア データ オブジェクトに関連付けられています。
[self.bar removeFoosObject:self.foo];//Why do I need this line?
[self.foo.managedObjectContext deleteObject:self.foo];
最終的に、子オブジェクトを親から手動で削除することでこれを解決しましたが、それはコアデータが自動的に処理するものではありませんか? なぜ最初の行が必要なのですか?
私はいくつかのテスト コードを実行しましたが、Foo は確実に削除されています。それが台無しにしていたコードを確認したところ、MOC は nil に設定されていました。メモリは存在しますが、非常に死んでいるはずです...