微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – coredata – 将一个属性提取到数组中

目的:我想从数据库(核心数据)中获取一个属性(从实体)到数组的值.

实体名称=员工

Attribute = employeeID

我只想把所有的employeeID都填入一个数组/集合.

以下是我的实现,我只是觉得这是一个圆滑的方式,我想知道是否有更好的方法来做到这一点.

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Employees"];

fetchRequest.resultType = NSDictionaryResultType;

[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"employeeID",nil]];

NSError *error      = nil;
NSArray *results    = [self.managedobjectContext executeFetchRequest:fetchRequest
                                                               error:&error];

NSMutableArray *employeeIDs = [NSMutableArray array];

for(id currentRecord in results)
{
    [employeeIDs addobject:[currentRecord objectForKey:@"employeeID"]];
}

解决方法

你可以避免最后一个for循环,

代替,

NSMutableArray *employeeIDs = [NSMutableArray array];

for(id currentRecord in results)
{
    [employeeIDs addobject:[currentRecord objectForKey:@"employeeID"]];
}

尝试这个,

NSMutableArray *employeeIDs = [results valueForKey:@"employeeID"];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐