Основные данные iPhone - Загрузка строки - PullRequest
0 голосов
/ 09 января 2012

У меня проблемы с пониманием того, как загрузить данные с Core Data.Вот что у меня есть:

Объект с именем «Люди» Атрибуты этого объекта с именами «firstName» (строка), «lastName» (строка), «isSpecial» (логическое значение), «isVerySpecial» (логическое значение).

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

Любая помощь будет высоко оценена, спасибо.

Ответы [ 2 ]

2 голосов
/ 09 января 2012

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

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 голосов
/ 09 января 2012

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

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];

Надеюсь, это поможет

...