我真的不知道我做错了什么。我已经尝试过为我的表实现SearchDisplayController的不同版本,但它仍然无法正常工作。一切似乎都很好。回应诸如已使用数组的计数之类的值给了我正确的数字。甚至搜索部分都可以,因为我甚至可以回显找到的字符串。唯一的问题是找到的结果没有显示在我的桌子上。只要键入搜索栏文本字段即可开始输入,只会出现一个带有空行的黑白表。我现在感到非常沮丧,因为这已经花了两天时间。有提示吗?
这是进行搜索的代码: - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if(searchText.length == 0)
{
isFiltered = FALSE;
}
else
{
isFiltered = TRUE;
if (filteredTableData == nil)
filteredTableData = [[NSMutableArray alloc] init];
else
[filteredTableData removeAllObjects];
for (NSDictionary *d in self.countries)
{
NSString *strData = [d valueForKey:@"cname"];
NSRange nameRange = [strData rangeOfString:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
if(nameRange.location != NSNotFound)
{
[filteredTableData addObject:d];
}
}
}
[self.tableView reloadData];
}
答案 0 :(得分:0)
如果您使用的是UISearchDisplayController,则需要调用以下内容:
[self.searchDisplayController.searchResultsTableView reloadData];
而不是
[self.tableView reloadData];