Поскольку я двигаюсь все больше и больше своего дизайна пользовательского интерфейса от XCode до IB, есть еще одно препятствие, которое мне нужно очистить.Интерфейс Builder. Как заменить программные ViewControllers на IB ViewControllers?
В настоящее время я создаю свой пользовательский viewControllers в XCode с пользовательскими инициализаторами. Обычно они имеют кучу ivars, которые устанавливаются во время инициализации через переданные параметры. Я бы очень хотел переместить столько, сколько я могу, чтобы IB.
Может ли кто-нибудь тщательно объяснить мне - или, лучше, указать мне на код - как реплицировать подход XCode прохождения параметров с помощью пользовательского инициализатора в IB - предположительно через IBOutlet.
Заранее спасибо.
Приветствия, Doug
UPDATE:
Типичный scenerio мой AppDelegate будет выходить в сеть, захватить некоторые данные - NSMutableData, а затем передать ссылку на корневой ViewController - обычно TableViewController - который нажимается на стек viewController навигационного контроллера.
Когда ячейка выбрана, secondViewController является alloc/init'ed, и под ним передается подмножество данных. SecondViewController отправляется в сеть для получения большего количества данных, строит иерархию представлений, обрабатывает биты полученных данных в каждом подвью, а затем каждый подпункт передается с помощью setNeedsDisplay для обработки данных.
Возможно, это передача иерархических данных, которые я хочу передать в IB.
Являются ли ivars все подклассы 'NSControl'? Или это другие биты данных, которые поступают из другого места в вашем приложении? –
Насколько я знаю, то, что вы описали в своем обновлении, невозможно в IB. –
Я имею дело с Primaryy с NSMutableData, NSMutableString и NSMutableArray. Контейнеры и строки, которые не являются подклассами NSControl. Должен ли я сделать вывод из вашего комментария, что подклассы non-NSControl не могут быть IBOutlets? – dugla