【发布时间】:2012-01-01 13:54:44
【问题描述】:
考虑以下几点:
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 但这并没有多大意义,因为我仍然需要将字典数组转换为我需要的数组。
我已经实现了上面的解决方案,所以真的在寻找更好的方法。如果正确的答案是“没有更好的方法”,那很好,只要确保我没有遗漏什么。谢谢!
编辑:在考虑这一点时,我质疑我是否需要一个值数组而不是只使用托管对象数组。无论如何,如果那里有一个很好的答案,仍然会很感激。
【问题讨论】:
标签: ios core-data nsmanagedobject nsfetchrequest