У меня есть данные uitableview
, загруженные из nsmutablearray
, но я хочу также фильтровать. данные загружаются отлично, но теперь мне нужно применить к ним функцию фильтрации и перезагрузить таблицу. Вот мой код так далеко, что я написал для фильтрации, но ее не работаетФильтрация NSMutableArray и ее само сохранение
NSPredicate *sPredicate;
for (int i=0; i<TableArray.count; i++) {
float hotelDistanceFloat = [[[TableArray objectAtIndex:i]xmlhotel_distance] floatValue];
NSInteger hotelPrice = [[[TableArray objectAtIndex:i]xmlhotel_price] integerValue];
sPredicate = [NSPredicate predicateWithFormat:@"(%ld <= %d AND %f <= %d)" , (long)hotelPrice, numberOfBudget, hotelDistanceFloat,numberOfDistance];
TableArray = [[TableArray filteredArrayUsingPredicate:sPredicate] mutableCopy];
}
numberOfBudget
и numberOfDistance
простые ИНТ значения получая от uislider. TableArray
- это мой mutablearray, имеющий все tabledata в нем.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return TableArray.count;
}
это те ценности, что мой NSMutableArray содержит
NSLog(@"Name : %@",[[TableArray objectAtIndex:1]xmlhotel_name]);
NSLog(@"City : %@",[[TableArray objectAtIndex:1]xmlhotel_city]);
NSLog(@"Price : %@",[TableArray objectAtIndex:1]xmlhotel_price);
NSLog(@"Distance : %@",[TableArray objectAtIndex:1]xmlhotel_distance);
NSLog(@"Image : %@",[[TableArray objectAtIndex:1]xmlhotel_image]);
NSLog(@"Stars : %@",[[TableArray objectAtIndex:1]xmlhotel_stars]);
все эти значения НИТИ
Вы не предсказываете должным образом, нет данных с данными массива? –
hotelDistanceFloat и hotelPrice - значения массива из массива! извините, я не получил его, пожалуйста, вы объясните немного больше. –
Можете ли вы показать, какое значение содержит ваш массив. –