我有一个自定义对象数组,其中包含一个自定义对象地址,其中包含属性street,area,state,country。
我需要从该数组中获取所有区域的名称,所以我做了类似的事情。
NSMutableArray *areas = [[NSMutableArray alloc]init];
for (Address *item in addresses) {
[areas addObject:item.area];
}
现在区域包含该区域的所有名称。
有没有其他方法可以通过地址数组(如上所述),使用谓词或其他方式来获取地址项的所有区域。
答案 0 :(得分:26)
只要该对象与区域属性符合KVC,那么只需:
NSArray *areas = [addresses valueForKey:@"area"];
(如果您希望areas
是可变的,根据您的代码,那么您需要在上述语句中使用mutableCopy
。
返回一个数组,其中包含调用valueForKey:using的结果 键入每个数组的对象。
答案 1 :(得分:3)
另外我们使用mutableArrayValueForKey:方法来获取与键对应的值数组
NSMutableArray *areas = [addresses mutableArrayValueForKey:@"name"];