如果您有一个NSMutableArray,其中包含三个NSDictionarys:
{
name:steve, age:40;
name:steve, age:23;
name:paul, age:19
}
如何将其转换为只包含两个字符串的数组{steve,paul}。换句话说,来自原始NSMutableArray的唯一名称?有没有办法使用块来做到这一点?
答案 0 :(得分:15)
与其他答案类似,您也可以这样做:
NSSet * names = [NSSet setWithArray:[myArray valueForKey:@"name"]];
或者
NSArray * names = [myArray valueForKeyPath:@"@distinctUnionOfObjects.name"];
答案 1 :(得分:4)
类似的东西:
NSMutableSet* names = [[NSMutableSet alloc] init];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)) {
[names addObject:[obj valueForKey:@"name"]];
}];
[name allObjects]将返回一个唯一名称的NSArray