0

我想在我的表格视图中做一个选择这是我的代码任何帮助将不胜感激谢谢

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

{ // 选择逻辑会到这里在选中的国家旁边打勾

currentCategory = [[NSMutableArray alloc] init];



[tableView deselectRowAtIndexPath:indexPath animated:NO];
NSInteger catIndex = [countryList indexOfObject:self.currentCategory];
if (catIndex == indexPath.row) {
    return;
}
NSIndexPath *oldIndexPath = [NSIndexPath indexPathForRow:catIndex inSection:0];

UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
if (newCell.accessoryType == UITableViewCellAccessoryNone) {
    newCell.accessoryType = UITableViewCellAccessoryCheckmark;
    self.currentCategory = [countryList objectAtIndex:indexPath.row];
}

UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
if (oldCell.accessoryType == UITableViewCellAccessoryCheckmark) {
    oldCell.accessoryType = UITableViewCellAccessoryNone;
}

NSLog(@"the selected cell is %@",newCell);


 }
4

1 回答 1

0

当前类别是字符串而不是数组这里是它的正确代码

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

{

[tableView deselectRowAtIndexPath:indexPath animated:NO];

NSInteger genderIndex = [genderList indexOfObject:self.selectedGender];

if (genderIndex == indexPath.row) {
    return;
}

NSIndexPath *oldIndexPath = [NSIndexPath indexPathForRow:genderIndex inSection:0];

UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
if (newCell.accessoryType == UITableViewCellAccessoryNone) {
    newCell.accessoryType = UITableViewCellAccessoryCheckmark;
    self.selectedGender = [genderList objectAtIndex:indexPath.row];
}

UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
if (oldCell.accessoryType == UITableViewCellAccessoryCheckmark) {
    oldCell.accessoryType = UITableViewCellAccessoryNone;
}

NSLog(@"the selected cell is %@",selectedGender);

}

于 2012-06-13T18:08:02.357 回答