我有一个NSArray包含带有键{“name”,“age”,“weight”}的NSDictionary对象 其中键名为NSString,age为NSInteger,weight为float Value
我需要使用以下条件过滤NSArray 1.name包含'abc' 2.低于18岁 3.重量小于50
答案将得到赞赏
答案 0 :(得分:0)
这会起作用,但根本不优雅。
NSMutableArray *filteredArray = [[NSMutableArray alloc]init];
for (NSDictionary *dic in myArray){
int age = [[dic objectForKey:@"age"]intValue];
if (age < 18){
float weight = [[dic objectForKey:@"weight"]floatValue];
if (float < 50){
string name = [dic objectForKey:@"name"];
if (![string rangeOfString:@"bla"].location == NSNotFound) {
[filteredArray addObject:dic];
}
}
}
}
另一个优雅的解决方案是使用枚举块和谓词来检查你的字典内容,但是我在Objective-C中做得不够舒服。