0
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    int count = [entries count];
    if (count == 0) {
        return kCustomRowCount;
    }

    return count;

    int rowCount;
    if (self.isFiltered) {
        rowCount = filteredTableData.count;

    }
    else {
        rowCount = allTableData.count;
    }

    return rowCount;
}

我的问题:需要第一个函数return count;将解析后的数据填充到tableView中。第二个return rowCount;需要计算过滤的搜索条目。但是当我同时使用两者时,我的应用程序就死了。当我删除第一部分时,搜索似乎无法正常工作..

4

1 回答 1

1

萨沙

听起来您需要使用 UISearchDisplayController。该控制器本质上支持未过滤和过滤(搜索)列表。

然后,您可以在 numberOfRowsInSection 中使用类似以下内容:

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if(tableView == self.searchDisplayController.searchResultsTableView){
        // search view population
        return [self.filteredList count];
    } else {
        return [[self.sectionedList objectAtIndex:section] count];
    }
}
于 2012-08-20T21:56:34.333 回答