Я работаю над несколькими выборами в UITableviewCell, я могу это сделать, проблема возникает, когда выбранное значение добавляется в массив и удаляет его из массива. Я принял выбранное значение из другого массива. Я думаю, следующий сценарий, который я допустил, «я выбрал несколько строк, тогда я отменяю один за другим его сбой» со следующим сбоем: - [__ NSArrayM removeObjectAtIndex:]: index 1 за пределами [0 .. 0] 'UITableview с несколькими вариантами выбора?
Я могу понять проблемы, но не в состоянии решить, есть ли все-таки, чтобы получить выбранные значения в массиве?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *tableViewCell = [tableView cellForRowAtIndexPath:indexPath];
[selectedValue addObject:[[listAns valueForKey:@"o_id"]objectAtIndex:indexPath.row]];
tableViewCell.accessoryView.hidden = NO;
tableViewCell.accessoryType = UITableViewCellAccessoryCheckmark;
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *tableViewCell = [tableView cellForRowAtIndexPath:indexPath];
[selectedValue removeObjectAtIndex:indexPath.row];
//[selectedValue removeLastObject];
tableViewCell.accessoryView.hidden = YES;
tableViewCell.accessoryType = UITableViewCellAccessoryNone;
}
Картик, если вы используете ** addObject **, вы должны использовать ** removeObject **, а не ** removeObjectAtIndex **, оба они разные, удалить objectatIndex проверить индекс, объект проверить объект –
@ Anbu.Karthik thanks.both ответ на меня – karthikeyan
Бросьте, что ваше кодирование в порядке, вы сделали ошибку в одной строке, просто измените эту строку ** [selectedValue removeObjectAtIndex: indexPath.row]; ** в ** [selectedValue removeObject: [[listAns valueForKey: @ "o_id"] objectAtIndex: indexPath.row]]; **, то верно работает –