CoreData iOS

CoreDataで「CoreData could not fulfill a fault」

投稿日:

CoreDataにアクセスすると、「CoreData could not fulfill a fault」が発生する場合の対処法。

faultはデータを読み込めていない状態なのですが、それを解決しようとして落ちたという感じです。

私の状況はNSFetchedResultsControllerを使っていました。また症状としては、アプリインストール後の一発目は大丈夫なのですが、2回目以降で、このエラーが発生します。

原因は、

です。@”Root”でキャッシュをなんとなく指定したのですが、これが問題です。NSFetchedResultsControllerはキャッシュがあれば、そこを見に行きます。私の場合、画面起動時に古いデータを削除していたのが問題で、CoreData上は存在しないファイルがキャッシュに残っており、それを参照したNSFetchedResultControllerがFaultを解決できないわけです。

キャッシュを削除することで解決します。

 







-CoreData, iOS

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スパム対策に簡単な計算にご協力ください。 *

関連記事

no image

iPhone XでのUINavigationBar/UITabBarの背景をFitさせる方法

iPhone Xになって、UINavigationBarの高さが変わりました。それによりUINavigationBarの背景画像のサイズが合わず、デザインが崩れてしまいました。詳細は勉強中なのですが、 …

no image

Coredataのリレーション代入で「NSInvalidArgumentException」発生

Coredataの使用中に、リレーション(OneToMany)に値を代入すると、下記エラーが出る。

発生条件はよくわからないが、iOS …

no image

iOS: #importしているのに、cannot find protocol declaration for **

iOS(Objective-C)で、#importをしているのに、宣言箇所を見つけられない(cannot find protocol declaration for)という問題にハマった。 別のクラス …

no image

addGestureRecognizerしたViewでボタンが反応しない時

MKMapViewにWildcardGestureRecognizerを使って、タップイベントを横取りしているのですが、そのときにUIButtonのタップも奪い取ってしまうので、その対応。他にもっとい …

no image

ESETがiOSシミューレーターを遮断する

iOSシミューレーターが時々、ネットに繋がらなくなるのですが、調べているとESETが遮断しているという話があったのですが、なかなか接続できませんでした。 たまに、勝手に接続されるようになるのですが、ま …




アプリをリリースしました!まだまだ機能や情報も足りてませんがよろしくお願いします。

サイクリングマップ

Google Play で手に入れよう

kitatamittakaと申します。IT系で詰まったことを自分のためと、ひょっとしたら誰かのために残そうと思います。

仕事

プログラミング好きのSE
仕事でプログラミングすることはあまりありません。

趣味

IT全般
新しい技術やガジェットに興味があります。
ロードバイク
別のブログを書いています。
SEがロードバイクに乗る
古代ローマの歴史
ローマ人の物語を読みました
映画
好きなのはガタカ、ペイフォワードなど
ブログランキング・にほんブログ村へにほんブログ村

モッピー!お金がたまるポイントサイト