2013-04-06 2 views
-1

Здесь я хочу, чтобы фильтровать словарь в массиве, который содержит «Cate = подкатегорию» может кто-нибудь помочь мне, пожалуйстафильтрации Dictonaries в массиве

menuArr :(
     { 
     Cate = subcat; 
     Description = "Grilled Chicken"; 
     Id = 2; 
     Image = "http://asaraa.com/our_development/restaurant/admin/logo_image/large/28322grilled_chicken.jpg"; 
     Name = "Grilled Chicken"; 
     Price = 0; 
     Qty = ""; 
     Title = "grilled chicken"; 
    }, 
     { 
     Cate = product; 
     Description = gravey; 
     Id = 12; 
     Image = "http://asaraa.com/our_development/restaurant/admin/logo_image/large/27166mutton.jpg"; 
     Name = gravey; 
     Price = 50; 
     Qty = 1; 
     Title = gravey; 
    }, 
     { 
     Cate = product; 
     Description = "Chicken Korma"; 
     Id = 15; 
     Image = "http://asaraa.com/our_development/restaurant/admin/logo_image/large/77845Indian_chicken_recipes.jpg"; 
     Name = "Chicken Korma"; 
     Price = 99; 
     Qty = 1; 
     Title = "Chicken Korma"; 
    }, 
     { 
     Cate = subcat; 
     Description = "Chicken Sandwiches"; 
     Id = 16; 
     Image = "http://asaraa.com/our_development/restaurant/admin/logo_image/large/67831chicken-sandwich-melt-0204_300.jpg"; 
     Name = "Chicken Sandwiches"; 
     Price = 0; 
     Qty = ""; 
     Title = "Chicken Sandwiches"; 
    } 
) 
+0

г у с помощью ответа JSON? – IronManGill

+0

s sir, я использую Json Response – dineshprasanna

+0

Использование сравнения Предикат для фильтрации массива, – Tirth

ответ

2
NSString *searchString = @"subcat" 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Cate = %@",searchString]; 
NSArray *array = [yourArray filteredArrayUsingPredicate:predicate]; 
if (array.count > 0) 
{ 
// here goes your code 
} 
0

Использование Linq to ObjectiveC вы можете отфильтровать его следующим образом:

NSArray* itemsInCategory = [menuArr where:^BOOL(id dic) { 
    return [[dic objectForKey:@"Cate"] isEqualToString:@"subcat"]; 
}]; 

Это находит все словари, где Cate = subcat.

0

Применение NSPredicate

NSArray *filtered = [yourArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(Cate LIKE[CD] %@)", @"subcat"]]; 
Смежные вопросы