CoreDataのメモです。同じエラーにあった人向けです。
NSFetchRequestで、データが空(まだ1つもデータが入っていない)のEntityをひっぱってこようとしたら、こんな感じのエラーが出ました。
reason: 'This fetch request xxxxx was created with a string name (Entityの名前), and cannot respond to -entity until used by an NSManagedObjectContext'
そんでググったところ、同じところで詰まっている人がいたです。
>> NSFetchRequest Problem Under iOS 4.3.5
結論としては、
・エラーが出ているのは空のデータを取得しているからではない
・NSFetchRequest: initWithEntityNameはiOS5からのAPIなので、
iOS4では以下のようにNSEntityDescriptionを使えば大丈夫
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:context]; [fetchRequest setEntity:entity];
コード修正したら動いた!
最初、空データのところとか、NSFetchedResultsControllerをその後で使っているからとか、色々と原因を考えたけど、APIのバージョンが対応してないだけっていうオチでした、。テヘぺろ。
Daveさんありがとう。
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ