たとえば、XCodeで[停止]をクリックすると、アプリが閉じて、クラッシュ動作を模倣します。
しかし、コアデータコンテキストが保存されていない場合、戻ったときにデータはそこにありません。
これに対する回避策はありますか?
大きな操作が終了するたびにコンテキストを保存する必要がありますか?
ありがとう。
私の経験に基づいて、CoreData保存メカニズムを使用するときに適切な粒度を決定する必要があります。
IMHO(おそらく他の誰かが異なる意見を持っている可能性があります)に従うべき基準はありません。私の経験則は、2つの異なる側面を考慮に入れています。ユーザーとパフォーマンス。_
最初のケースでは、ユーザーが重要な操作を実行するたびに保存する必要があります。たとえば、ユーザーがフォームに多くの値を挿入したため、それらを再度挿入しないことを期待します。2番目の側面に関しては、保存操作がアプリのパフォーマンスに影響を与える可能性があります。頻繁にディスクに変更を書き込むと、アプリの応答性が低下します。それどころか、メモリ内に非常に多くのオブジェクトがあると、メモリ警告が発生する可能性があります(これらにより、Core Dataが特定の動作をするようになります)。
トレードオフは、バックグラウンド操作を使用して変更を保存したり、新しいCoreDataAPIを利用したりすることです。明らかに、以前のルールは引き続き有効です。