Представление является нулевым во viewDidLoad - PullRequest
1 голос
/ 01 сентября 2011

Я создал UITabBarController с каждой вкладкой, содержащей UINavigationController и установил rootviewcontroller в этом UINavigationController, все это делается в конструкторе интерфейса. В viewDidLoad я пытаюсь получить размер кадра из представления, но когда я ссылаюсь на представление, он возвращает ноль. Кто-нибудь испытал это раньше.

Все IBoutlet правильно подключены.

1 Ответ

7 голосов
/ 01 сентября 2011

viewDidLoad возврат нулевого вида, если вид подключен в вашем .xib, может означать:

Для программной инициализации (пользовательские контроллеры):

  • Вы забыли позвонитьinitWithNibName:bundle: для класса контроллера представления вообще (вы могли бы вызвать init или что-то вместо этого).
  • Вы переопределили метод loadView в вашем классе контроллера представления, но он не устанавливаетview.

Для всех контроллеров:

  • Неправильное подключение к розетке.
  • Вы случайно отключили представление или представлениеконтроллер перед его отображением.
  • Параметр nibName не был задан должным образом при инициализации представления (не удалось найти перо или было найдено без представления ... хотя это также должно вызвать исключение).
  • Недостаточно памяти для выделения view (хотя, вероятно, приложение к этому моменту было бы прервано).

Я бы порекомендовал вам попробовать выполнить вычисления размера кадрав viewWillAppear: яnstead и посмотреть, если view все еще nil в этой точке.

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