IBOutlet равен NIL при использовании предварительных объявлений для вызова класса? - PullRequest
0 голосов
/ 19 марта 2010

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

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

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

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

1 Ответ

1 голос
/ 19 марта 2010

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

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

myViewController.view;

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

...