ユーザーが検索を開始する前に、検索ディスプレイ コントローラーのテーブル ビューにデータ ソース内のすべてのデータをロードしたいと考えています。
使った
[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;
}