IBOutlet не устанавливается в проекте Cocoa MVC - PullRequest
1 голос
/ 13 мая 2009

Возможно, я не правильно использую IBOutlet, или какая-то другая тонкость в том, как работают файлы NIB, вызывает у меня проблемы - любая помощь будет принята с благодарностью (не стесняйтесь предлагать альтернативный способ достижения того, чего я хочу).

У меня есть объект View и объект Controller. Оба находятся в NIB. Init контроллера также вызывается, когда загружается NIB и представление инициализируется в обратном вызове awakeFromNib. Мне нужен способ соединить эти два объекта - в частности, включить объект «Вид» для вызова функций на контроллере.

Основываясь на онлайн-документации, можно подключить их, указав IBOutlet в представлении и подключив его к контроллеру в Interface Builder. Итак, я создал

IBOutlet Controller* _controller;

в интерфейсе View и графически подключил его к объекту Controller в Интерфейсном Разработчике, установив соединение между View и Controller и назначив выход _controller для Controller (синее поле Универсальный объект в Interface Builder).

Во время выполнения, _controller всегда _nil. Я убедился, что инициализация контроллера действительно была вызвана.

Есть ли что-то очевидное, что мне не хватает в этом? Любой более простой способ соединить эти два? Так как они оба созданы NIB, у меня нет общего объекта, который имеет указатель на оба.

1 Ответ

0 голосов
/ 13 мая 2009

Попробуйте получить доступ к IBOutlet in viewDidLoad instad.

Когда вызывается awakeFromNib, не все IBOutlets заполняются (даже если документация это подразумевает).

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