2010-04-27 4 views
2
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]; 

    } 

Я ожидал, что данные ядра будут более интуитивными. Я новичок в этом, и я мог бы использовать некоторую помощь. Я выбрал все объекты (строки) из сущности (таблицы) города. Теперь у меня есть массив объектов. Из массива мне нужно извлечь атрибут «streetName» в массив, который будет кормить сборщика. Я решил, что мне нужно сделать это в цикле, но я не мог понять, как это сделать. Пожалуйста, помогите.Извлечь атрибуты из массива NSManagedObject

У меня есть фон с SQL, но Core Data по-прежнему остается большой загадкой для меня. Есть ли какая-либо публикация, которая будет принимать инструкцию SQL и показать сопоставимый синтаксис Core Data?

Спасибо.

ответ

4

Это очень просто из-за кодирования ключ-значение:

NSArray *streets = [result valueForKey:@"streetName"]; 
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"]); 
} 
Смежные вопросы