Мне нужно поместить значения, полученные с помощью запроса извлечения из моего основного графа данных, в массив, но я не совсем уверен, как это сделать.
Я использую следующее для получения:
NSString *entityName = @"Project"; // Put your entity name here
NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);
// 2 - Request that Entity
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];
// 3 - Filter it if you want
request.predicate = [NSPredicate predicateWithFormat:@"belongsToProject = %@", _selectedProject];
// 4 - Sort it if you want
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"dateTaken"
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)]];
// 5 - Fetch it
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
[self performFetch];
Как видите, я фильтрую значения, которые возвращаются, используя NSPredicate.
Как я могу получить эти значения в массив, а также иметь возможность выбирать отдельные атрибуты для объекта, когда они находятся в массиве, например, project.description или project.name?
Благодаря Eimantas у меня есть объекты в массиве, однако мне все еще нужно сделать две вещи:
- Перебрать массив и вывести данные в некоторый HTML
- Индивидуально выбрать атрибуты из массива, например, описание проекта.
Я использую следующее для цикла, чтобы сделать первое:
for (int i=0; i < [projectListArray count]; i++)
{
NSString *tmp = (NSString *)[projectListArray objectAtIndex:i];
}
Однако это возвращает ошибку:
-[Project length]: unrecognized selector sent to instance 0x1b9f20
2012-03-28 10:48:35.160 Project App[3973:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Project length]: unrecognized selector sent to instance 0x1b9f20'
Похоже, что я не могу увеличивать?