来自NSMutableArray和NSDictionary项目的唯一项目?

can*_*boy 3 cocoa-touch nsdictionary nsmutablearray ios objective-c-blocks

如果你有一个带有三个NSDictionarys的NSMutableArray,如下所示:

{ 
  name:steve, age:40;
  name:steve, age:23;
  name:paul, age:19
}
Run Code Online (Sandbox Code Playgroud)

如何将其转换为只有两个字符串的数组{steve,paul}.换句话说,来自原始NSMutableArray的唯一名称?有没有办法使用块来做到这一点?

Dav*_*ong 15

与其他答案类似,您也可以这样做:

NSSet * names = [NSSet setWithArray:[myArray valueForKey:@"name"]];
Run Code Online (Sandbox Code Playgroud)

要么

NSArray * names = [myArray valueForKeyPath:@"@distinctUnionOfObjects.name"];
Run Code Online (Sandbox Code Playgroud)