UITableViewController сначала загружает пустой вид, но затем корректно загружается после второй загрузки. - PullRequest
0 голосов
/ 03 декабря 2009

У меня есть UITableViewController, который в своем методе tableView:didSelectRowAtIndexPath устанавливает контроллер представления и вызывает

[self.navigationController pushViewController: viewController animated:YES].

Когда я выбираю строку в корневом контроллере, второй viewController загружается, но пустой - табличное представление загружается, но не имеет данных. Здесь tableView:numberOfRowsInSection не вызывается.

Когда я возвращаюсь на верхний уровень, а затем снова выбираю ту же строку, представление загружается правильно - вызван метод.

Почему табличное представление не вызывает методы делегата при первой попытке, а вызывает их со второй?

Я что-то упускаю из виду?

Спасибо

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Решено с использованием initWithNibName вместо initWithStyle - знал, что это будет что-то очевидное.

Спасибо

0 голосов
/ 04 декабря 2009

Когда вы говорите:

Когда я выбираю строку в корне контроллер, второй viewController загружается, но пусто.

Вы имеете в виду, что представление присутствует, но не содержит данных, или вы подразумеваете, что таблица исчезает и заменяется пустым / пустым представлением?

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

Если это последнее, похоже, что ваш контроллер представления второго уровня неправильно инициализирует свое представление при первом вызове. Если вы используете перо, проверьте в Интерфейсном Разработчике, что у контроллера есть выход, указывающий на представление. Если вы создаете представление программным способом, убедитесь, что оно правильно инициализируется, прежде чем вызывать его для отображения.

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