Рассмотрим следующее:
NSFetchRequest *request = [[NSFetchRequest Alloc] init];
request.entity = [NSEntityDescription entityWithName:@"Person" inContext:_MOC];
request.propertiesToFetch = [NSArray arrayWithObject:@"Name"];
NSError *error = nil;
NSArray *results = [_MOC executeFetchRequest:request error:&error];
Возвращает массив Person
объектов.То, что я хочу, это массив Person.name
значений из этих объектов.В настоящее время я хожу по массиву результатов, извлекаю имена и строю новый массив.Есть ли более чистый и быстрый способ сделать это?Я думал об изменении request.resultType
на NSDictionaryResultType
, но это ничего не стоит, поскольку мне все еще нужно преобразовать массив словаря в нужный мне массив.
У меня уже есть решение, реализованное выше,так что действительно ищу лучший путь.Если правильный ответ «нет лучшего пути», это нормально, просто убедившись, что я что-то не пропустил.Спасибо!
РЕДАКТИРОВАТЬ: думая об этом, я подвергаю сомнению мою потребность в массиве значений по сравнению с использованием только массива управляемых объектов.В любом случае, все равно был бы признателен за отличный ответ, если он есть.