iOS - setEditing [super setEditing ...] и / или [tableView setEditing ...] - PullRequest
2 голосов
/ 06 февраля 2012

Если я хочу перевести tableView в режим редактирования.Какой правильный призыв сделать это?Кажется, я могу перевести tableView в режим редактирования, просто вызвав [super setEditing:YES animated:YES]. Нужно ли также вызывать [tableView setEditing:YES animated:YES]?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Я предполагаю, что вы вызываете это в подклассе UITableViewController? В этом случае достаточно вызова super, потому что UITableViewController автоматически переводит свое табличное представление в режим редактирования, когда сам контроллер представления начинает редактирование.

Если бы у вас был обычный UIViewController, который, как оказалось, также содержит UITableView, вам придется сделать это самостоятельно.

0 голосов
/ 06 февраля 2012

Вызов метода состоит из двух частей:

[messageReciever message];

В первом примере вы используете super, что означает отправку сообщения setEditing:animated: текущему объекту, но запуск поиска метода из суперкласса.

Во втором примере вы отправляете сообщение setEditing:animated: объекту tableView.

UITableViewController реализует setEditing:animated: и переключает режим редактирования его tableView. На самом деле нет необходимости использовать super, поскольку использование self будет иметь такой же эффект. Если вам нужно переопределить setEditing:animated: для добавления дополнительного поведения, использование super приведет к обходу вашего дополнительного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...