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



2010年08月17日

unrecognized selector sent to instance



CoreDataの処理実行時に、下記のメッセージが表示された場合。
[hoge controllerDidChangeContent:]: unrecognized selector sent to instance

この現象が発生した場合、fetchedResultsControllerが壊れている可能性がある。
別のViewControllerでCoreDataを使っている場合、Viewを切り替えたときに内容が上書きあるいは破壊されている可能性がある。

この場合、双方のViewControllerについて、viewWillDisappearで、self.fetchedResultsControllerにnilをセットする処理を記述し、viewWillAppearでself.fetchedResultsControllerを再設定する処理を記述する。
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];

self.fetchedResultsController = nil;
}

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}




■参考記事
http://stackoverflow.com/questions/1375344/why-is-this-core-data-example-crashing
 



posted by mobileDeveloper at 21:07 | Comment(0) | TrackBack(0) | Core Data はてなブックマーク - unrecognized selector sent to instance | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

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