Вот моя проблема:Удаление объекта из NSMutableArray возвращает исключение после ряда удаляемого
У меня есть NSMutableArray *notes
и который является источником моей UITableView* _gradesTV
.
Я добавил метод - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
здесь:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSLog(@"%ld", (long)indexPath.section);
NSLog(@"%@", notes);
[_gradesTV beginUpdates];
[notes removeObjectAtIndex:indexPath.section];
[_gradesTV deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section]
withRowAnimation:UITableViewRowAnimationFade];
[_gradesTV endUpdates];
NSLog(@"%@", notes);
}
[_gradesTV reloadData];
}
Но когда я удалить элемент, я получаю эту ошибку:
*** Terminating app due to uncaught exception 'NSRangeException',
reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'
Но NSLog я делаю на MutableArray показать мне 3 элемента .. .
Линия removeObjectAtIndex
на заметках (MutableArray) делает мое приложение аварийным, как будто оно было выполнено дважды ...
Спасибо за вашу помощь ...
если и хотят, чтобы вытащить проект и попробовать ...
Вы должны создать сорта с кнопкой +, то вы можете попробовать для удаления элемента в моем представлении таблицы.
При добавлении оценки первый TextField является string
, второй - значением double
, третий - также значением double
.
Разве 'indexPath.section' не должно быть' indexPath.row' –
Можете ли вы отправить все ваши методы 'UITableView delegate'. –
Вы можете вытащить весь проект по этому адресу, если хотите, все предоставленные ответы не работают пока ... [Github Link проекта] (https://github.com/rico237/MyGrades/tree/DeleteRow_UItableView) –