我有一个基于 TableView 的应用程序,其中包含一个 UISearchBarDelegate。该应用程序按预期工作。表格视图与 UISearchBar 一起显示所有数据。在搜索字段中输入文本时,列表会缩小以匹配输入的文本。
我遇到的问题是,当我单击取消按钮时,键盘会按原样消失,但不会返回原始数组......它仍然会显示搜索到的项目。
在我的 searchBarCancelButtonClicked 部分,我有以下代码:
- (void)searchBarCancelButtonClicked:(UISearchBar *)SearchBar
{
SearchBar.text = nil;
[SearchBar resignFirstResponder];
[tableView reloadData];
}
我会假设[tableView reloadData]
当单击取消按钮时该部分应该重新加载原始数组中的数据,但它不会这样做。关于我在这里可能做错了什么的任何想法?
另外,这是我的 cellForRowAtIndexPath。与其他示例相比,似乎我做的事情是正确的……没有什么明显的突出之处。
-(UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIndentifier"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
StateDetail *cd;
if(isFiltered)
cd = [self.searchStates objectAtIndex:indexPath.row];
else
cd = [self.listOfStates objectAtIndex:indexPath.row];
cell.textLabel.text = cd.stateName;
return cell;
}
先感谢您!