У меня есть набор словарей. Я хотел бы извлечь массив со всеми элементами одного конкретного словаря в исходном массиве. Можно ли это сделать без перечисления?
Из массива словарей сделайте массив, содержащий значения одного ключа
Ответ 1
Да, используйте метод NSArray -valueForKey:
.
NSArray *extracted = [sourceArray valueForKey:@"a key"];
Ответ 2
Да, просто используйте Key-Value Coding, чтобы запросить значения ключа:
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);