我在使用UITableView的搜索栏过滤器时遇到问题。
我在多个数组中记录温度数据:
NSMutableArray *timeArray; // Array which saves date and time
NSMutableArray *tempInside; // saves inside temp
NSMutableArray *tempOutside; // saves outside temp
NSMutableArray *timeArraySearch; // Array which saves date and time searched
NSMutableArray *tempInsideSearch; // saves inside temp searched
NSMutableArray *tempOutsideSearch; // saves outside temp searched
因此要显示所有数据,我有一个UITableView。我对cell.textlabel.text
使用timeArray。
现在我无法使用搜索栏过滤数据。这是我的
filterContentForSearchText
方法:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF contains[cd] %@",
searchText];
tempInsideSearch = [tempInside filteredArrayUsingPredicate:resultPredicate];
tempOutsideSearch = [tempOutside filteredArrayUsingPredicate:resultPredicate];
timeArraySearch = [timeArray filteredArrayUsingPredicate:resultPredicate];
}
我运行了应用程序并获得了一个空数组异常。然后我再次检查了这个方法并意识到tempInsideSearch和tempOutsideSearch是空的正常,因为它们不包含像“06:41 PM”这样的值......
所以最后这是我的问题: 我如何过滤临时数组,它们使用timeArray符合索引?
答案 0 :(得分:0)
创建一个带有日期/时间的类,insideTemp,outsideTemp属性,将它的实例存储到一个数组中,并对该数组应用过滤,而不是使用3个不同的数组来存储高度绑定的信息......