不兼容的指针类型从结果类型为“UITableView *”的函数返回“UITableViewCell * __ strong”

时间:2012-06-05 03:20:21

标签: objective-c ios uitableview

我正在以下列方式在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];
}

1 个答案:

答案 0 :(得分:2)

tableView:cellForRowAtIndexPath:的返回类型不正确。它应该是UITableViewCell *而不是UITableView *