Почему self.view.subviews является пустым массивом в viewDidLoad?
Я создал группу элементов пользовательского интерфейса с помощью Interface Builder и подключил их к моему ViewController с помощью IBOutlets.
Тем не менее, когда я пытаюсь перебратьself.view.subviews
в моем ViewController'sviewDidLoad
Метод, я считаю, что массив subviews пуст.
ViewController.xib
:
UIView
|
- UILabel
- UIButton
- // ... more stuff
- UIToolbar
ViewController.m
:
#import "ViewController.h"
@interface ViewController ()
// Interface elements
@property IBOutlet UILabel *titleLabel;
@property IBOutlet UIButton *button1;
// ... etc
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// BREAK_POINT
// ... code to wire up the UIButtons to dynamically created objects
}
Выход отладчика вBREAK_POINT
:
(lldb) po self.view
<UIView: 0x7fa7897e2140; frame = (0 0; 600 600); autoresize = W+H; layer = <CALayer: 0x7fa7897e2210>>
(lldb) po self.view.subviews
<__NSArrayI 0x7fa789713500>(
)
(lldb) po [self.view.subviews count];
nil
(lldb) po self.button1
<UIButton: 0x7fa78955ea70; frame = (-23 -15; 46 30); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7fa7897663d0>>
Любые идеи, почему self.views.subviews пуст, когда ясно, что кнопки UIB и т. Д. Были правильно инициализированы и подключены к IBOutlets?
Изменить 1: я переименовал «MainView.xib» в «ViewController.xib» и удалилloadView
реализация в моемViewController.m
и я все еще вижу то же самоеself.view.subviews
поведение.