Я знаю, что когда я реализую tableView:willBeginEditingRowAtIndexPath: и tableView:didEndEditingRowAtIndexPath:, прокрутка к удалению не вызывает setEditing:animated: в моей UITableViewController (являющейся делегатом UITableView).
У меня есть обычная реализация UITableViewCell, которая немного изменяет UI при переходе в режим редактирования. Я хотел быть умным и реализовал эти изменения в setEditing:animated: в самой реализации ячейки представления таблицы (что, очевидно, имеет смысл).
Однако при прокрутке для удаления я все равно получаю вызов setEditing:animated: в моей реализации представления таблицы таблиц. И у меня нет параметров, которые говорят мне, что я промахиваю. В стеке вызовов также не отображается ни один из моих собственных методов, который бы дал мне шанс что-то сделать. Он показывает, что setEditing:animated вызывается в UITableView. Единственное, что очевидно, это то, что он не вызывается у делегата (мой контроллер в этом случае).
Конечно, я могу установить флаг в ячейке в tableView:willBeginEditingRowAtIndexPath:, который сообщает ему, что следующий вызов setEditing будет для прокрутки, но это не похоже на хороший стиль.
Изменить: он даже не работает, потому что не гарантируется, что вызывается tableView:didEndEditingRowAtIndexPath:, поэтому я не могу установить флаг.
Любые идеи, как решить эту проблему элегантно?