MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];
nib ファイル myView.nib には、2 つの uiimageview と 2 つの uilabel があります。myViewController を最初に初期化すると、4 つのサブビューはすべて 0x0 に設定されます。2回目はそのような振る舞いはしません。
MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];
nib ファイル myView.nib には、2 つの uiimageview と 2 つの uilabel があります。myViewController を最初に初期化すると、4 つのサブビューはすべて 0x0 に設定されます。2回目はそのような振る舞いはしません。
ビュー オブジェクト自体は、self.view を介して参照され、loadView が呼び出されるまで作成されません。最初にビューを検査したり、それを使って何かをしようとしたときに、これはまだ起こっていない可能性があります.2回目は、システムがビューを別のビューやナビゲーションコントローラに追加している場合、ビューを作成した後かもしれません.なにか。
ケブラーは絶対に正しいです。次のステートメントを使用して、ビューの読み込みとすべての参照の設定を強制できます。
if (myViewController.view);
アウトレットにバインドされたすべてのサブビューを取得する以外は何もしません。
Nib ファイルのビューview
を MyController のプロパティに接続するのを忘れているか、サブビューをさまざまな MyController に接続している可能性がありIBOutlets
ます。