我在为我的 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。我将 timeArray 用于cell.textlabel.text
.
现在我无法使用搜索栏过滤数据。这是我的
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:41PM”这样的值......
所以最后这是我的问题:我如何过滤临时数组,使它们符合 timeArray 的索引?