0

MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];

nib ファイル myView.nib には、2 つの uiimageview と 2 つの uilabel があります。myViewController を最初に初期化すると、4 つのサブビューはすべて 0x0 に設定されます。2回目はそのような振る舞いはしません。

4

3 に答える 3

3

ビュー オブジェクト自体は、self.view を介して参照され、loadView が呼び出されるまで作成されません。最初にビューを検査したり、それを使って何かをしようとしたときに、これはまだ起こっていない可能性があります.2回目は、システムがビューを別のビューやナビゲーションコントローラに追加している場合、ビューを作成した後かもしれません.なにか。

于 2009-09-01T03:45:58.247 に答える
0

ケブラーは絶対に正しいです。次のステートメントを使用して、ビューの読み込みとすべての参照の設定を強制できます。

if (myViewController.view);

アウトレットにバインドされたすべてのサブビューを取得する以外は何もしません。

于 2009-09-01T13:07:26.000 に答える
0

Nib ファイルのビューviewを MyController のプロパティに接続するのを忘れているか、サブビューをさまざまな MyController に接続している可能性がありIBOutletsます。

于 2009-09-01T02:27:46.890 に答える