溫柔,我在學習。UITableView中需要多個水龍頭才能打勾
下面的代碼實際上工作正常,除了我第一次點擊一行(適當放置複選標記)之後,我必須點擊一個單元格兩次,才能刪除同一個複選標記。
同樣,刪除它後,它需要兩個水龍頭把複選標記回來。
我該如何解決這個問題?
- (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屬於同一個對象? –