Warum ist self.view.subviews ein leeres Array in viewDidLoad?

Ich habe mit Interface Builder eine Reihe von UI-Elementen erstellt und sie mit IBOutlets mit meinem ViewController verbunden.

Allerdings, wenn ich versuche, durch @ iterierself.view.subviews in meinem ViewControllerviewDidLoad Methode finde ich, dass das Array subviews leer ist.

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
}

Debugger Ausgabe beiBREAK_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>>

Haben Sie eine Idee, warum self.views.subviews leer ist, wenn die UIButtons usw. eindeutig initialisiert und korrekt mit den IBOutlets verbunden wurden?

Edit 1: Ich habe "MainView.xib" in "ViewController.xib" umbenannt und das @ entferloadView Implementierung in meinemViewController.m, und ich sehe immer noch das gleicheself.view.subviews Verhalten

Antworten auf die Frage(6)

Ihre Antwort auf die Frage