2012-01-09 4 views
0

У меня возникают проблемы с пониманием загрузки данных с помощью Core Data. Это то, что у меня есть:Основные данные iPhone - Загрузка строки

Entity под названием 'Люди' Атрибуты этого объекта с именем 'ПгвЬЫате' (строка), 'LastName' (строка), 'isSpecial' (логический), 'isVerySpecial' (логическое).

Я хочу получить имя и фамилию любого человека, который является особенным или особенным, чтобы затем я мог помещать эти имена в ярлыки и везде, где захочу. Я играл с запросами на выбор без везения.

Любая помощь была бы очень признательна, спасибо.

ответ

2

Что-то вроде этого следует сделать это:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *weightEntity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:[[yourCoreDataManager sharedInstance] managedObjectContext]]; 
[fetchRequest setEntity:weightEntity]; 
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"isSpecial == %@ OR isVerySpecial == %@", [NSNumber numberWithBool:YES], [NSNumber numberWithBool:YES]]]; 

NSError *error = nil; 
NSArray *result = [[yourCoreDataManager sharedInstance] managedObjectContext] executeFetchRequest:fetchRequest error:&error]; 

А потом:

Person *person = [result objectAtIndex:0]; 
NSString *lastName = person.lastName; 
NSString *firstName = person.firstName; 
0

Нечто подобное должно сделать трюк:

self.fetchedResultsController = [Person fetchAllSortedBy:@"lastName" ascending:YES withPredicate:[NSPredicate predicateWithFormat:@"isSpecial == %@ OR isVerySpecial == %@", [NSNumber numberWithBool:YES], [NSNumber numberWithBool:YES]] groupBy:nil delegate:self]; 

тогда вы получите массив людей в вашей fetchedResultsController. Для того, чтобы получить его простого использование

NSMutableArray *yourArray = [NSMutableArray arrayWithArray: self.fetchedResultsController.fetchedObjects]; 

Надеется, что это помогает

Смежные вопросы