У меня есть XIB установить, как на этом скриншоте: владелецXIB-экземпляра объекта является нулевым
alt text http://emberapp.com/jxpx777/images/interface-builder/sizes/m.png
файла мой главный контроллер окна. XIB также отвечает за создание объекта, который служит делегатом для представления MGScopeBar. Как вы можете видеть на скриншоте, делегат области видимости области имеет поле IBOutlet
для поля поиска, чтобы он мог вернуть его в качестве дополнительного представления как часть процесса делегирования.
Проблема, с которой я сталкиваюсь, заключается в том, что когда объект делегата запрашивается для аксессуара, IBOutlet
NSSearchField
равен нулю. Я вполне уверен, что это связано с порядком создания объектов, подключением IBOutlets и т. Д., Но я немного потерял информацию о том, где в процессе я могу ожидать, что поле поиска будет существовать, чтобы панель области видимости делегат может ссылаться на него должным образом.
Заранее благодарим за любые указатели.
Нет «вероятно» об этом. Розетки устанавливаются через KVC (iPhone) или поведение очень похоже на это (Mac). Это может произойти только после того, как * объект был выделен * и * инициализирован. Подумайте, как это сделать, если вы выполняете загрузчик nib; это будет что-то вроде: 'id instance = [[[objectClass alloc] initWithCoder: unarchiver] autorelease]; for (NSString * k в objectOutlets) [instance setValue: [objectOutlets objectForKey: k] forKey: k]; [instance awakeFromNib]; 'Обратите внимание, что' initWithCoder: 'возвращается до начала установки; при запуске 'initWithCoder:' не установлено никаких выходов. –