NSFetchRequest *req = [NSFetchRequest init];
NSEntityDescription *descr = [NSEntityDescription entityForName:@"City" inManagedObjectContext:context];
[req setEntity:descr];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"streetName" ascending:YES];
[req setSortDescriptors:[NSArray arrayWithObject:sort]];
[sort release];
//fetch
NSError *error;
NSArray *result = [context executeFetchRequest:req error:&error];
//extract names
NSMutableArray *streets = [[NSMutableArray alloc] init];
for () {
??? = [array objectAtIndex:i];
[streets addObject:name];
}
我预计Core Data会更加直观。我是新手,我可以使用一些帮助。 我从实体(表)City中获取了所有对象(行)。现在我有一个对象数组。从数组我需要将属性“streetName”提取到一个数组,该数组将提供选择器。我想我需要在循环中完成它,但我无法弄清楚如何做到这一点。 请帮忙。
我有SQL的背景,但核心数据对我来说仍然是个谜。是否有任何出版物会采用SQL语句并显示可比较的核心数据语法?
感谢。
答案 0 :(得分:4)
由于键值编码,这非常简单:
NSArray *streets = [result valueForKey:@"streetName"];
答案 1 :(得分:0)
我认为核心数据发生了很大变化。这是我现在如何获取
NSError *error;
NSFetchRequest *fr =[NSFetchRequest fetchRequestWithEntityName:@"Category"];
[fr setPredicate:[NSPredicate predicateWithFormat:@"name == \"myCategpry\""]];
NSArray *rs = [self.managedObjectContext executeFetchRequest:fr error:&error];
for (NSManagedObject *index in rs) {
NSLog(@"%@",[index primitiveValueForKey:@"name"]);
}