0

我的表格视图有问题。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

[tableView deselectRowAtIndexPath:indexPath animated:YES];

UITableViewCell *tableCell = [tableView cellForRowAtIndexPath:indexPath];
BOOL isSelected = (tableCell.accessoryView = [[ UIImageView alloc ] initWithImage:[UIImage imageNamed:@"Checkmark-hvid"]]);

if (isSelected) {

    tableCell.accessoryType = UITableViewCellAccessoryNone;

}
else {

    tableCell.accessoryView = [[ UIImageView alloc ]

                               initWithImage:[UIImage imageNamed:@"Checkmark-hvid"]];
}

}

问题是我无法将 BOOL isSelected 定义为评估视图(图像)。

如果有人知道答案,请帮助我!

  • Mikkel V(对不起,我的英语不好)
4

1 回答 1

0

在本声明中:

BOOL isSelected = (tableCell.accessoryView = [[ UIImageView alloc ] initWithImage:[UIImage imageNamed:@"Checkmark-hvid"]]);

is的类型,这就是编译器所抱怨的。要将其转换为,请执行以下操作:(tableCell.accessoryView = ...UIView *BOOL

BOOL isSelected = (tableCell.accessoryView = [[ UIImageView alloc ] initWithImage:[UIImage imageNamed:@"Checkmark-hvid"]]) != nil;

(注意与 的比较nil,这会导致布尔条件)。

但是,您的所有代码看起来都有些狡猾,因为我希望alloc/init总是成功,因此isSelected总是如此YES

于 2012-11-25T10:43:03.680 回答