IBOutlet равен НУЛЮ при использовании прямых объявлений для вызова класса?

StackOverflow https://stackoverflow.com/questions/2473639

Вопрос

У меня были огромные проблемы с этим, поэтому я нарисовал диаграмму...

альтернативный текст http://tomsfil.es/7bdead0a.png

Я успешно добираюсь до КЛАССА A - МЕТОД B, но в этот момент IBOutlet Z равен нулю?:( Есть какие-нибудь идеи?

примечание Кто-то сказал мне, что это может быть чрезмерный выпуск и использовать NSZombieEnabled, но это меня смутило

Это было полезно?

Решение

Все зависит от того, когда вы вызываете класс.Сразу после того, как вы создаете контроллер представления с помощью initWithNibName , на самом деле еще ничего не подключено - IBOutlets создаются и подключаются только после создания представления.

Один из трюков заключается в том, что вы можете просто запросить view controller для .view, вот так:

myViewController.view;

Затем представление будет создано, и IBOutlet будет существовать.Однако лучшим методом является создание свойств в заданном вами контроллере представления, а затем либо в viewDidLoad, или в viewWillAppear вы используете эти свойства для установки значений для своих торговых точек.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top