我想在用户开始搜索之前使用数据源中的所有数据加载搜索显示控制器的表格视图。
我用了
[self.searchDisplayController.searchResultsTableView reloadData];
在 viewDidLoad 但 UITableViewDataSource 委托方法
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
不会被调用。我的桌子空着。我在重新加载表视图之前手动填充了数据源(并在调试模式下验证了这一点),所以有数据可以用来填充单元格。
我知道我可以使用另一个表格视图来做到这一点,并在视觉上获得完全相同的结果,但我想知道是否只能使用搜索显示控制器的表格视图。
代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell;
static NSString *cellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
NSString *category = [searchResults objectAtIndex:[indexPath row]];
cell.textLabel.text = category;
cell.textLabel.font = [UIFont systemFontOfSize:14];
cell.textLabel.numberOfLines = 0;
cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
return cell;
}