coredataのsubEntitiesをクリアする安全な方法を尋ねたいと思います。Coredata safe clear subEntities
私はこのような多対多の関係を持っています:Product *<->* Product
。したがって、(sortPosition、groupName .....)の間にいくつかの特別な値を保持するために、subEntityを作成しなければなりません。
だから、これは次のようなものです:Product *<->1 ProductSubEntity 1<->*Product
。
私は、サーバーのAPIから製品をダウンロードすると、サーバーの結果に対応して正しく更新する最も簡単な方法は次のとおりです。
- は、すべての子関係(
[self removeProductSubEntities:self.subEntities]
)を取り外します。 - サーバーの結果からサブを追加します。
結果:coredataには多くのsubEntity(製品との関係はありません)があります。これはCRUDのときにストレージ/メモリ/ cpuがかかることがありますか?しかし、私は実際にsubEntityを削除することはできません(その場合は、viewControllerのObjectとしてどこかの参照を保持していて、削除されたオブジェクトへのアクセスがクラッシュする可能性があります)。
質問:私は、これらのサブエンティティをクリアするにはどうすればよい
は(時々発生する可能性があります)の場合:
- 任意の製品とは関係。
- どこからでも実際の参照はありません(任意のviewControllerまたはオブジェクト)???
P/S:アプリを終了するときにバッチ削除を実装すると考えています。それは安全な解決策と考えることができますか?