Подтвердить что ты не робот

TableView: canEditRowAtIndexPath: сбой при появлении viewController

У меня есть viewController с UITableView, строки которого я разрешаю редактировать (удалять) с помощью салфетки - как в приложении Mail. Я делаю это, в частности, с помощью этого метода:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    return YES;
}

Однако, если у меня есть кнопка удаления, и в то же время я использую обратную навигацию по моему UINavigationController, то есть когда я popViewControllerAnimated:, приложение вылетает со следующим сообщением:

[ViewController tableView: canEditRowAtIndexPath:]: сообщение отправлено на освобожденный экземпляр 0xaae64d0

Как я могу решить эту проблему?

4b9b3361

Ответ 1

В вашем методе контроллера dealloc установите для свойства таблицы editing значение editing.

Ответ 2

У меня была такая же проблема, но я использовал ARC, и я не хотел обманывать метод dealloc. Делать это в viewWillDisappear было достаточно, чтобы остановить сбой.

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [table setEditing:NO];
}

Ответ 3

  • Используйте

    tableview.delegate = nil in dealloc()

  • Используйте

    Tableview = ноль