Метод делегата TableView вызывается только после выбора второй ячейки - PullRequest
1 голос
/ 21 марта 2012

Я имею дело с проблемой, которая действительно сводит меня с ума.Мне добавили табличное представление к представлению, используя IB.Этот tableView имеет делегата и источник данных.Делегат является контроллером представления, источник данных - это другой класс, который упаковывает информацию для их отображения.Источник данных работает и заполните таблицу правильными данными.
Я не могу сказать то же самое для делегата.Делегат реализует классический - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath, и у меня есть NSLog внутри этого метода, который регистрирует выбранную ячейку.
Проблема в том, что если я выбрал ячейку, ячейка изменит свой цвет на синий (выбранное состояние), но не вызовет методы делегата.Если я нажму другую ячейку, то теперь новый выбор в новой ячейке выдвигает контроллер detailview с нужной информацией.
Если я выбрасываю ячейку, она отменяется, поскольку в viewWillAppear я помещаю метод для отмены выбора выделенной ячейки, если я нажимаю ячейкуопять ничего не происходит, просто выделение синего цвета, если я нажимаю другой, он выдвигает подробный вид.
Я попытался внести несколько изменений, чтобы максимально упростить кейс:

  1. .used ячейки по умолчанию в стиле
  2. . Программно добавил вид таблицы
  3. . Проверить делегата табличного представления в другой части кода


Все кажется правильным, я действительно не могу понять.

1 Ответ

0 голосов
/ 21 марта 2012

Используйте

(void)tableView:(UITableView *)tableView selectRowAtIndexPath:(NSIndexPath *)indexPath

вместо

(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...