削除したオブジェクトが実際には削除されないという奇妙な問題が発生したようです。これは、 に応答しているときにのみ発生しtheNSManagedObjectContextObjectsDidChangeNotification
ます。
より具体的には、A <->> B のリストがあります。カスケードは B の「所有」インスタンス
を削除します。A のインスタンスを削除すると、「所有」の B インスタンスは削除されますが、A インスタンスは削除されません。
[context processPendingChanges];
通知ハンドラの先頭で呼び出すと、最後のオブジェクトを削除したときにのみ問題が発生するようです。そうしないと、 A のインスタンスが固執する傾向があります。
というわけで、問題の根源はコアデータについて私が理解していないところにあるようです。なぜ非生産的だったのかを理解する。この動作が見られる理由を誰か挙げてもらえますか?