Ответ 1
В вашем методе контроллера dealloc
установите для свойства таблицы editing
значение editing
.
У меня есть viewController с UITableView
, строки которого я разрешаю редактировать (удалять) с помощью салфетки - как в приложении Mail. Я делаю это, в частности, с помощью этого метода:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
Однако, если у меня есть кнопка удаления, и в то же время я использую обратную навигацию по моему UINavigationController
, то есть когда я popViewControllerAnimated:
, приложение вылетает со следующим сообщением:
[ViewController tableView: canEditRowAtIndexPath:]: сообщение отправлено на освобожденный экземпляр 0xaae64d0
Как я могу решить эту проблему?
В вашем методе контроллера dealloc
установите для свойства таблицы editing
значение editing
.
У меня была такая же проблема, но я использовал ARC, и я не хотел обманывать метод dealloc. Делать это в viewWillDisappear было достаточно, чтобы остановить сбой.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[table setEditing:NO];
}
Используйте
tableview.delegate = nil in dealloc()
Используйте
Tableview = ноль