我有一个包含 NSDictionary 对象的 NSArray,其中键名是 NSString ,年龄是 NSInteger ,权重是浮点值
我需要使用以下条件过滤 NSArray 1.name 包含 'abc' 2.age 低于 18 3.weight 低于 50
答案将不胜感激
我有一个包含 NSDictionary 对象的 NSArray,其中键名是 NSString ,年龄是 NSInteger ,权重是浮点值
我需要使用以下条件过滤 NSArray 1.name 包含 'abc' 2.age 低于 18 3.weight 低于 50
答案将不胜感激
这会起作用,但一点也不优雅。
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 中还不够舒服。