Core Data がオブジェクトを永続化するのを防ぐことは可能ですか?
プロパティを持つNSManagedObject
サブクラスがあるとしましょう。BOOL
isTemporary
したがって、コンテキストで保存が呼び出されると、オブジェクトのチェックを行います。
if (self.isTemporary) {
// Do not save
} else {
// Save this object
}
編集:問題の背景情報
うーん、私の問題を明確にするために、オブジェクトを作成します。既に存在する場合はそれをフェッチし、存在しない場合は挿入し、オブジェクトの一時フラグをYESに設定します。この段階では、ユーザーが保存またはキャンセル アクションを実行するかどうかが明確でないため、フラグを設定しました。彼がセーブしたら、フラグを一時的に NO に設定します。彼がキャンセルした場合、一時フラグが YES の場合、オブジェクトを削除します。
ここまでは順調ですが、その間、バックグラウンドでコア データの保存操作がバックグラウンドで発生する可能性があり、これらのオブジェクトを永続化したくありませんが (一時的なものであるため)、これらのオブジェクトを永続化します。したがって、運が悪くてアプリが強制終了された場合、一時フラグが YES に設定された不要なオブジェクトが作成される可能性があります。1 つのオプションは、アプリの起動時にクリーン操作を実行して、一時フラグが YES のオブジェクトを削除することです。しかし、それらのオブジェクトを保持しなければ、すべてがずっと簡単になります。