0

我在为我的 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 的索引?

4

1 回答 1

0

创建一个具有日期/时间、insideTemp、outsideTemp 属性的类,将其实例存储到一个数组中,然后对该数组应用过滤,而不是使用 3 个不同的数组来存储高度相关的信息......

于 2013-10-31T15:20:47.470 回答