0

Core Data のかなり基本的な実装を使用して、アプリにいくつかのオブジェクトを保存しています。このコードは、Xcode が作成するボイラー プレート コードとほぼ同じで、モデルは可能な限り単純です (リレーションシップも持たず、スタンドアロンのマネージド オブジェクトのみです)。

iOS7 ではすべて正常に動作しますが、iOS 6 では、テーブル ビュー iOS でオブジェクトを削除すると行が削除され、fetchedResultsController はすぐに NSFetchedResultsChangeInsert を実行し、削除されたオブジェクトをテーブル ビューに戻します。

テーブルビューから移動してからテーブルビューに戻ると、行が削除されたことを確認して行が消えますが、コントローラーが iOS 6 で NSFetchedResultsChangeInsert を呼び出すのはなぜですか? これがiOS 7でもまったく呼び出されていないことを確認できます。

Xcode で空白のアプリを作成し、コードを私のものと比較して、何かを台無しにしておらず、コードが同じであることを確認しました。誰でもこの問題を説明できますか? 以前に Core Data を使用したことがないため、明らかな何かが欠けている可能性があります。

私のコードの唯一の違いは、オブジェクトを削除すると、ドキュメント ディレクトリに jpg が存在する場合はそれも削除されることです。

4

1 に答える 1

0

この投稿を入力した後、オブジェクトで参照されている画像をどのように削除するかを考えていました。これを行うための管理オブジェクト内にメソッドがありました。テストのためにこれを削除した後、オブジェクトがまだこれを行うために動作していたため、オブジェクトをすぐに削除できず、フェッチされた結果コントローラーがオブジェクトをテーブルビューに追加していたようです. 問題が解決された TableView コントローラー内の他の場所で参照された画像を削除するメソッドを追加しました。他の誰かが同様の問題を抱えている場合に備えて、また誰かがこれを処理するためのより良い方法についてフィードバックを持っている可能性があるため、とにかくこれを投稿します.

于 2013-10-19T23:27:14.733 に答える