0

私はCoreDataにまったく慣れておらず、実際にはObjective-C全体であるため、これを正しく表現できれば、Core Dataを使用してデータを保存および取得できましたが、結果セットをループするのに苦労しています。

// read the data
NSFetchRequest *req = [[NSFetchRequest alloc]init];
[req setEntity:[NSEntityDescription entityForName:@"Card" inManagedObjectContext:app.managedObjectContext]];
//[req setPredicate:[NSPredicate predicateWithFormat:@"cardID == %@", @"1"]];
NSArray *crd = [[app.managedObjectContext executeFetchRequest:req error:nil] lastObject];

for(Card *card in crd){
    NSLog(@"%@",card.backImageURL);
}

アプリを実行しようとすると、このエラーが発生し続けますが、

2012-10-16 11:37:29.407 Core test[925:17903] -[Card countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x962f5c0
2012-10-16 11:37:29.408 Core test[925:17903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Card countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x962f5c0'

非常にシンプルなことだと思いますが、どういうわけか問題を特定できないようです。

4

1 に答える 1

1

それ以外の

NSArray *crd = [[app.managedObjectContext executeFetchRequest:req error:nil] lastObject];

そのはず

NSArray *crd = [app.managedObjectContext executeFetchRequest:req error:nil];

エラーが発生した場合は、そのエラーパラメーターを使用する必要があります-

NSError *error = nil;
NSArray *crd = [app.managedObjectContext executeFetchRequest:req error:&error];
if(error){
    NSLog(@"ERROR: %@", [error localizedDescription]);
}
于 2012-10-16T09:55:27.553 に答える