-1

我有一个包含 NSDictionary 对象的 NSArray,其中键名是 NSString ,年龄是 NSInteger ,权重是浮点值

我需要使用以下条件过滤 NSArray 1.name 包含 'abc' 2.age 低于 18 3.weight 低于 50

答案将不胜感激

4

1 回答 1

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 中还不够舒服。

于 2015-09-03T08:26:57.397 回答