我以以下方式在tableView
中加载搜索结果,但收到警告,指出指针类型不兼容。
我下面的代码有什么错误?
// Our tableView containing the search results.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (searchResults == nil) {
return 0;
} else {
return [searchResults count];
}
}
- (UITableView *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"SearchResultCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [searchResults objectAtIndex:indexPath.row];
return cell;
}
// END tableView
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
NSLog(@"The search text is: '%@'", searchBar.text);
searchResults = [NSMutableArray arrayWithCapacity:10];
for (int i = 0; i < 3; i++) {
[searchResults addObject:[NSString stringWithFormat:@"Fake Result %d for '%@'", i, searchBar.text]];
}
[self.tableView reloadData];
}
最佳答案
tableView:cellForRowAtIndexPath:
的返回类型不正确。它应该是UITableViewCell *
而不是UITableView *
。