0

所以我有一个带有复选标记附件类型的 tableView,我有这样的方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger newRow = [lastIndexPath row];
    NSUInteger oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;

    if (newRow != oldRow) {
        UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
        newCell.accessoryType = UITableViewCellAccessoryCheckmark;

        UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:lastIndexPath];
        oldCell.accessoryType = UITableViewCellAccessoryNone;
        lastIndexPath = indexPath;
    }
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

它似乎第一次工作正常,但是当我第二次选择该行时,它把我扔出去并说 EXC_BAD_ACCESS。当我将模拟器切换到 4.3 时,它只选择行然后不起作用。有人可以帮忙吗?

4

1 回答 1

4

self.lastIndexPath = indexPath如果您为 . 声明了 @property,请使用lastIndexPAth

于 2011-11-29T15:50:27.277 回答