Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2013年11月13日

CoreData: FATAL ERROR: The persistent cache of section information does not match the current configuration



Core Dataアクセス時に
CoreData: FATAL ERROR: The persistent cache of section information does not match the current configuration. You have illegally mutated the NSFetchedResultsController's fetch request, its predicate, or its sort descriptor without either disabling caching or using +deleteCacheWithName:
と表示されて、アプリがクラッシュした場合の対処法。

何らかの理由でCore Dataのキャッシュの整合性がとれていないというメッセージなので、キャッシュを使用しないか、初期処理としてキャッシュをクリアする。

キャッシュをクリアする
[NSFetchedResultsController deleteCacheWithName:@"Root"];


キャッシュを使用しない(キャッシュ名にnilを設定する)
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:nil];



参考記事:
http://cocoadays.blogspot.jp/2010/07/uisearchdisplaycontroller_15.html
http://cocoadays.blogspot.jp/2010/06/nsfetchedresultscontroller-performfetch.html
http://stackoverflow.com/questions/2709768/nsfetchedresultscontroller-crashing-on-performfetch-when-using-a-cache
タグ:iPhone iPAD apple Mac IOS
posted by mobileDeveloper at 19:11 | Comment(0) | TrackBack(0) | Core Data はてなブックマーク - CoreData: FATAL ERROR: The persistent cache of section information does not match the current configuration | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/380138139
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。