Core Data (「アイテム」) に単一のエンティティを持つ Xcode プロジェクトがあり、各アイテムが他の多くのアイテムと関係を持つことができるように再帰関係を設定しました。ドキュメントに従って関係を設定しました(2つの関係、またはそれ自体の逆の関係のいずれかが合法であり、後者を使用しています)との関係を持つアイテムを削除するまで、すべてがうまく機能します別のアイテム。リレーションシップに「カスケード」削除ルールを選択すると、クラッシュは発生せず、すべての機能が期待どおりに動作します。ただし、本当に使用したい「無効化」削除ルールを使用すると、クラッシュが発生します。
再帰関係を使用していても、アイテムを削除すると、コア データが通過し、すべての関係の反対側にあるそのアイテムへのすべての参照が null に設定されると想定しています。それとも、手を差し伸べて手動で行う必要がありますか? しなくていいと思っています。
それとも、FetchedResultsController の「操作の順序」の問題でしょうか?
私はこれについて完全にアイデアがありません。過去数週間にわたる Apple の問題のため、私は彼らからサポートを受けることができませんでした。
コードはたくさんあり、そのほとんどはテンプレート/定型コードなので、私が構築しているこの単純なテスト例のコードを投稿していません。