アプリの最近の更新で、多くのクラッシュ ログが表示され、コア データが障害を解決できなかったというエラーが表示されます。しかし、アプリのどこ (起動時、または他の場所) にも、障害を解決できないオブジェクトを削除したり、カスケード削除したりすることはありませんでした。このエラーは他にどのように発生する可能性がありますか? そして、それをキャッチしてライブアプリ内で修正する方法はありますか?
オブジェクトを追加したが、まだ適切に保存していない場合もあるでしょうか?
アプリの最近の更新で、多くのクラッシュ ログが表示され、コア データが障害を解決できなかったというエラーが表示されます。しかし、アプリのどこ (起動時、または他の場所) にも、障害を解決できないオブジェクトを削除したり、カスケード削除したりすることはありませんでした。このエラーは他にどのように発生する可能性がありますか? そして、それをキャッチしてライブアプリ内で修正する方法はありますか?
オブジェクトを追加したが、まだ適切に保存していない場合もあるでしょうか?
「適切に」保存されなかったオブジェクトがこの動作を引き起こす可能性があります。
それを行う1つの方法は次のとおりです。
編集:
シングル コンテキスト アーキテクチャでこの状態に到達する別の方法は次のとおりです。
更新は、フェッチされた結果コントローラーがデータをページングした結果である可能性があり、必ずしもアプリケーションで「目に見える」ものであるとは限りません。
さらに、親子コンテキスト アーキテクチャで常にこの例外をキャッチできるとは限らない CoreData の「バグ」がありますが、試すことはできます ...
ただし、これが遭遇したシナリオである場合、これはアプリケーションにとって望ましい動作ではありません。ストアに追加された新しいデータが失われます。