У меня тут быстрый вопрос ...
Здесь у меня есть массив с именем arrayDishDetails
{
"dishid": "5",
"cusineid": "1",
"dishname": "Cheese Fries",
"dishimage": "noimage.png",
"type": "NA",
"description": "VEG FRIES",
"price": "120",
"swiggy_status": "enable",
"preflag": "true",
"pre": [
{
"preid": "112",
"pretype": "Multi",
"prenm": "BATTER FRIED FISH",
"preprice": "70",
"cat_id": "3"
},
{
"preid": "109",
"pretype": "Multi",
"prenm": "JALAPENO POPPERS",
"preprice": "50",
"cat_id": "3"
},
{
"preid": "110",
"pretype": "Multi",
"prenm": "CHICKEN SAUSAGES",
"preprice": "50",
"cat_id": "3"
},
{
"preid": "111",
"pretype": "Multi",
"prenm": "CHICKEN NUGGETS",
"preprice": "50",
"cat_id": "3"
},
{
"preid": "113",
"pretype": "Multi",
"prenm": "SHREDDED CHICKEN",
"preprice": "50",
"cat_id": "3"
},
{
"preid": "114",
"pretype": "Multi",
"prenm": "CHICKEN POPCORN",
"preprice": "50",
"cat_id": "3"
},
{
"preid": "105",
"pretype": "Multi",
"prenm": "GRATED CHEESE",
"preprice": "30",
"cat_id": "3"
},
{
"preid": "272",
"pretype": "Multi",
"prenm": "Chili",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "273",
"pretype": "Multi",
"prenm": "Jalapeno Cheese",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "274",
"pretype": "Multi",
"prenm": "Salsa",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "275",
"pretype": "Multi",
"prenm": "BBQ",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "276",
"pretype": "Multi",
"prenm": "Mayo",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "277",
"pretype": "Multi",
"prenm": "Schezwan",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "278",
"pretype": "Multi",
"prenm": "Pizza Sauce",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "279",
"pretype": "Multi",
"prenm": "Chipotle",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "280",
"pretype": "Multi",
"prenm": "Tandoori",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "281",
"pretype": "Multi",
"prenm": "Garlic Mayo",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "282",
"pretype": "Multi",
"prenm": "Tartare sauce",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "283",
"pretype": "Multi",
"prenm": "Thai Sweet Chili",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "284",
"pretype": "Multi",
"prenm": "Makhani Gravy",
"preprice": "20",
"cat_id": "6"
},
{
"preid": "106",
"pretype": "Multi",
"prenm": "CRUSHED TORTILLAS",
"preprice": "20",
"cat_id": "3"
},
{
"preid": "107",
"pretype": "Multi",
"prenm": "BEANS",
"preprice": "20",
"cat_id": "3"
},
{
"preid": "115",
"pretype": "Multi",
"prenm": "FRIED MAGGI",
"preprice": "20",
"cat_id": "3"
},
{
"preid": "270",
"pretype": "Multi",
"prenm": "Chat Masala",
"preprice": "10",
"cat_id": "3"
},
{
"preid": "108",
"pretype": "Multi",
"prenm": " MAGIC MASALA",
"preprice": "10",
"cat_id": "3"
}
],
"modifier_cat": [
{
"cat_id": "3",
"cat_name": "ADD ONS",
"modifier_selection": "1"
},
{
"cat_id": "6",
"cat_name": "Extra Sauces",
"modifier_selection": "1"
}
]
}
Теперь в моем табличном представлении я установил titleForHeaderInSection следующим образом.
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [[[self.arrayDishDetails valueForKey:@"modifier_cat"] valueForKey:@"cat_name"] objectAtIndex:section];
}
Я установил numberOfSectionsInTableView вот так ..
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[self.arrayDishDetails valueForKey:@"modifier_cat"] count];
}
Теперь мой вопрос: как мне отфильтровать массив "pre" , чтобы получить "prenm" по "cat_id" из " modifier_cat " Массив, чтобы я мог получить 2 разных категории?
Например: -
для "cat_id" = "3" Я хочу, чтобы все "prenm" вроде "prenm": "BATTER FRIED FISH", "JALAPENO POPPERS", "CHICKEN SAUSAGES" и т. д. из "pre" Array.
И то же самое для "cat_id" = "6"
Я искал много решений для массива фильтров, но не могу получить помощь для своего.
Любая помощь приветствуется. Спасибо!
Редактировать 1:
Я получил некоторую подсказку от ответа @Karthik, и я установил число чисел для моего табличного представления следующим образом:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cat_id = %@", [[[self.arrayDishDetails valueForKey:@"modifier_cat"]valueForKey:@"cat_id"]objectAtIndex:section]];
NSArray *filteredArray = [[self.arrayDishDetails valueForKey:@"pre"] filteredArrayUsingPredicate:predicate];
return filteredArray.count;
}
Теперь, как мне установить "prenm" для каждого раздела (здесь 2 раздела 0 и 1) согласно "cat_id" из "modifier_cat" Массив?