Я создал представление в Interface Builder с некоторыми ярлыками и текстом как IBOutlets. Я отлично вижу этот экран, когда перехожу к нему из другого представления, которое я определил в своей раскадровке. Однако у меня есть еще один XIB и связанный с ним UIViewController, с которым я хочу получить доступ к этому представлению. Поскольку мой XIB не находится в Раскадке, я не могу его отложить. Вместо этого я должен выполнить переход программно.iOS - Разъемы интерфейса не инициализированы
PlantDetailViewController *plantDetailVC = [[PlantDetailViewController alloc] init];
[self.currentNavigationController pushViewController:plantDetailVC animated:YES];
Когда этот код выполнен, он переходит к представлению, но вид просто пуст. Я отлаживал код, и он входит в viewDidLoad и viewWillAppear, однако все мои IBOutlets - это NIL .... поэтому ничего не появляется на экране!
Может ли кто-нибудь сказать мне, почему они могут быть NIL и как я могу их инициализировать?
Благодаря
Brian
Спасибо за ответ Ионы. Однако у меня нет NIB для представления, которое я пытаюсь загрузить. Вид определен в раскадровке, и из того, что я понимаю, нет файлов NIB в Storyboard. Поверните меня, если я ошибаюсь. –
Вызов метода 'init'' UIViewController аналогичен вызову 'initWithNibName: nil bundle: nil'. Если есть наконечник с тем же именем, что и класс контроллера представления (или то же имя без слова 'Controller' в конце), контроллер представления загрузит этот nib в' loadView'. –