UITableview搜索栏:过滤数组

时间:2013-10-31 15:14:36

标签: ios iphone uitableview filtering uisearchbar

我在使用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符合索引?

1 个答案:

答案 0 :(得分:0)

创建一个带有日期/时间的类,insideTemp,outsideTemp属性,将它的实例存储到一个数组中,并对该数组应用过滤,而不是使用3个不同的数组来存储高度绑定的信息......