0

在我的cellForRow代码中,我有以下内容,并且收到一条错误消息,说明没有返回任何内容。我做错了什么?谢谢。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
    if([self.checkedIndexPath isEqual:indexPath]) 
    { 
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    } 
    else
    { 
        cell.accessoryType = UITableViewCellAccessoryNone;
    } 
    return cell;
}
4

2 回答 2

3

这是一个无限循环:UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];

这应该是:

static NSString *reuseIdentifier = @"some_identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if(cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier] autorelease]
}
于 2012-07-17T19:30:26.103 回答
0

cellForRowAtIndexPath将看起来像这样(对于最基本的表格视图)

- (UITableViewCell *) tableView :(UITableView *) tableView cellForRowAtIndexPath :(NSIndexPath *) indexPath
{
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier ";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
                                       reuseIdentifier:SimpleTableIdentifier] autorelease];
    }

    NSUInteger row = [indexPath row];
    cell.textLabel.text = [listData objectAtIndex :row];
    cell.textLabel.font = [UIFont boldSystemFontOfSize:50];

    return cell;
}
于 2012-07-19T05:41:17.550 回答