【发布时间】:2012-09-09 01:03:49
【问题描述】:
温柔点,我在学习。
下面的代码实际上可以正常工作,除了在我第一次点击一行(适当地放置一个复选标记)之后,我必须点击一个单元格两次才能删除相同的复选标记。
同样,删除它后,它需要点击两次才能将复选标记放回去。
我该如何解决这个问题?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];
NSInteger selectedRow = indexPath.row;
if (thisCell.accessoryType == UITableViewCellAccessoryNone) {
thisCell.accessoryType = UITableViewCellAccessoryCheckmark;
if (selectedRow == 0) dm = 1;
else if (selectedRow == 1) athero1 = 1;
else if (selectedRow == 2) athero2 = 1;
else if (selectedRow == 3) athero3 = 1;
else if (selectedRow == 4) familyHistory1 = 1;
else if (selectedRow == 5) familyHistory2 = 1;
}
else {
thisCell.accessoryType = UITableViewCellAccessoryNone;
if (selectedRow == 0) dm = 0;
else if (selectedRow == 1) athero1 = 0;
else if (selectedRow == 2) athero2 = 0;
else if (selectedRow == 3) athero3 = 0;
else if (selectedRow == 4) familyHistory1 = 0;
else if (selectedRow == 5) familyHistory2 = 0;
}
}
【问题讨论】:
-
当您点击单元格时是否调用了您的 didSelectRowAtIndexPath?你检查 thisCell 是否属于同一个对象?
标签: ios didselectrowatindexpath uitableview