我正在获取JSONArray数据并在表格中显示电话号码 我在UITableView中使用UISearchBar。
当我在搜索栏中输入时,它会重新加载数据并在第一个单元格中显示类型值。
但我点击第一个单元格意味着它显示旧的数组值。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (isSearching)
{
cell.textLabel.text = [searchResultArray objectAtIndex:indexPath.row];
}
else
{
cell.textLabel.text = [phoneNoArray objectAtIndex:indexPath.row];
}
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[searchResultArray removeAllObjects];
if([searchText length] != 0)
{
isSearching = YES;
[self searchTableList];
}
else
{
isSearching = NO;
}
[self.tableView reloadData];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
tempString = [jsonArray objectAtIndex:indexPath.row];
}
答案 0 :(得分:0)
当你将isSearching设置为yes时。现在表的datasoucre已经改变了。并且您已重新加载数据。
你也应该更新你的数据源方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (isSearching) {
return [searchResultArray count];
}
else
{
return [phoneNoArray count];
}
}
HTH