我有一系列词典。我想提取一个数组,其中包含原始数组中字典的一个特定键的所有元素。这可以在没有枚举的情况下完成吗?
答案 0 :(得分:40)
是的,请使用NSArray -valueForKey:
方法。
NSArray *extracted = [sourceArray valueForKey:@"a key"];
答案 1 :(得分:12)
是的,只需使用键值编码来询问密钥的值:
NSArray* names = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:
@"Joe",@"firstname",
@"Bloggs",@"surname",
nil],
[NSDictionary dictionaryWithObjectsAndKeys:
@"Simon",@"firstname",
@"Templar",@"surname",
nil],
[NSDictionary dictionaryWithObjectsAndKeys:
@"Amelia",@"firstname",
@"Pond",@"surname",
nil],
nil];
//use KVC to get the names
NSArray* firstNames = [names valueForKey:@"firstname"];
NSLog(@"first names: %@",firstNames);