Основная проблема заключается в том, что этот метод:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
Должно возвращаться правильное количество строк, , а это не так. Когда вы удаляете элемент из deleg.rmessages
, это тот же объект, который используется для предоставления возвращаемого значения вышеупомянутого метод? (Что-то вроде [deleg.rmessages count]
?)
Кроме того, по моему опыту, это исключение часто дает вам более подробную информацию, в частности:
- Сколько предметов у него было до
- Сколько было добавлено / удалено
- Сколько ожидается от того, сколько будет после перезагрузки
Видите ли вы что-нибудь подобное, упомянутое? Если так, то стоит включить в ваш вопрос.
Sidenote:
Это плохая идея, на которую можно положиться:
UITableViewCell *buttonCell = (UITableViewCell*)[[btn superview] superview];
Для возврата UITableViewCell
. Похоже, вы присваиваете tag
кнопки локальной переменной, но никогда не используете ее. (Может быть, это было бы хорошим местом для хранения индекса UITableViewCell, а затем для создания подкласса ячейки для сохранения ивара для кнопки?) Это только часть проблемы.