查看从存储在NSArray中的核心数据中检索的数据

时间:2013-07-28 08:41:39

标签: objective-c core-data

我有一个iPad应用,其数据存储在core data中。我使用以下代码从Observations实体中检索数据,该实体看起来运行没有任何问题,并且observeList的计数是正确的。

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Observations"];
NSError *error = nil;
observationList = [[NSArray alloc]init];
observationList = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];

但是当我尝试使用数组访问数据时 - 例如:

    NSLog(@"%@", [[observationList objectAtIndex:0] objectForKey:@"obsDate"]);

它会抛出错误

reason: '-[Observations objectForKey:]: unrecognized selector

核心数据中存在obsDate。谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:2)

NSManagedObject未实施objectForKey:,您应该使用valueForKey:代替id。您的代码编译是因为数组返回observationList = [[NSArray alloc]init]; ,因此编译器只需要相信您在其上调用的方法将在运行时存在。

除此之外:这条线是没有意义的

{{1}}

因为你在下一行丢弃了那个数组实例。