В последнее время я немного запутался с UIViews, я использую их до конца, и они просто отказываются быть совместимыми!Добавление IBOutlet UIView к массиву во время init
У меня есть UIViewController, и это содержит 5 разных видов. Я создал IBOutlets для этих взглядов, как я, желающих поменять их во время выполнения:
IBOutlet UIView *view1;
IBOutlet UIView *view2;
IBOutlet UIView *view3;
IBOutlet UIView *view4;
IBOutlet UIView *view5;
Для того, чтобы их было легче поддерживать, я решил держать их всех в массиве, называемом viewArray. Теперь я пытаюсь добавить точку в массив следующим образом:
viewArray = [NSArray arrayWithObjects:view1, view2, view3, view4, nil];
Это вызывается в функции инициализации моего класса UIViewController. Я связал все IBOutlets с их соответствующими представлениями в файле xib/interface, но они, похоже, не инициализированы. При дальнейшей отладке выглядит, что представления не инициализируются до тех пор, пока не вызывается функция init?
Как я могу создать массив этих объектов? Мне нужно будет выбрать соответствующий вид до того, как будет показано представление, поэтому viewDidLoad не является вариантом.
Я знаю, что вы можете захватить тег вещей и косвенно установить их с помощью:
imageExample = (UIImageView *)[self.view viewWithTag:100];
Но это может быть использованы для поиска точки зрения, так же верно, он будет искать тег внутри первоначально инициализировано зрения (view1)?
Спасибо за любую помощь в передовых, С наилучшими пожеланиями, Elliott
Где в 'viewArray = [NSArray arrayWithObjects ... 'в вашем коде? Это ваш метод 'init'? – dasblinkenlight
Да, это в init. –
Я предполагаю, что значения переменных 'IBOutlet' установлены на не-nil к моменту, когда вам нужно получить к ним доступ в первый раз, правильно? – dasblinkenlight