簡體   English   中英

從 NSArray 過濾 NSDictionary

[英]Filter NSDictionary from NSArray

我有一個包含 NSDictionary 對象的 NSArray,其鍵為 {"name","age","weight"},其中鍵名是 NSString ,age 是 NSInteger ,weight 是浮點值

我需要使用以下條件過濾 NSArray 1.name contains 'abc' 2.age under 18 3.weight less than 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 中不太習慣這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM