0

Core Data を使用して、アプリにオブジェクトを保存します。基本的に、ユーザーが気に入ったものや行きたい場所など、ユーザーにとって価値のあるオブジェクトを保存します。これらすべてのオブジェクトとユーザー自身の間には、隠れた関係があります。すべてが完全に論理的です。しかし、検索リクエストの結果など、ユーザーに直接リンクされていないデータを保存 (キャッシュ) したいと考えています。これらのオブジェクトはほとんどの場合、特定の 1 つの場所でのみ使用され、キャッシュなどのように有効期限が切れる可能性があります。したがって、これらのオブジェクトを保存する必要がありますが、将来ストレージから削除できるようにする必要があります。問題は、これらのオブジェクトが私の貴重なオブジェクトと同じエンティティであるということです。もう1つのことは、これらの価値のないオブジェクトといくつかの価値のあるオブジェクトの間に関係がある可能性があるということです.

そのような価値のないオブジェクトを保存し、最も重要なこととして、それらから Core Data Storage をクリーンアップする最善の方法は何ですか?

4

1 に答える 1

0

これらのアイテムに必要な用途によって異なります。
基本的に、これらは有効期限のあるアイテム (一時的なオブジェクト) であり、各オブジェクトにタイムスタンプを使用するか、アイテムに関連する新しいエンティティ (1 対 1 の関係) を作成してクエリおよび削除することができます。あなたが指定した条件の下で。
ストア コーディネーターを開くと、クリーンアップ ルール (実装する必要があります) をバックグラウンドで実行し、関連性がなくなったアイテムを削除することができます (それらをユーザーに表示しないようにしてください。クリーンアップを実行します)。
クリーンアップをバックグラウンドで実行し、ユーザーの邪魔にならない時間に実行するようにしてください。
私の意見では、アイテムを非表示としてマークしてからすぐに削除する方が良いでしょう。削除はUIをブロックする可能性のある重い操作だからです. また、削除を小さく保つようにしてください (一度にすべてのオブジェクトではなく、オブジェクトの小さなバッチ)。

于 2013-04-15T11:39:05.057 に答える