0

以前は、viewController/views をプログラムでのみ作成していました。

xib の使用は思ったより難しいです。

xib またはその他のサブビューの self.view が最初は nil であることがわかりました。

I created the viewController by [[MyViewController alloc] init]  
and tried to [myViewController.imageView setImage: image];  //imageView is nil  

NSLog(@"%p", myViewController.view); // access view here
[myViewController.imageView setImage: image]; //works now 

私は非常に基本的な何かが欠けていると感じています。それはどうなりますか?

4

3 に答える 3

1

のドキュメントでUIViewController説明されているように、プロパティに最初にアクセスすると、ビューは遅延ロードされviewます。それらを参照できる最も古いものは にありviewDidLoadます。

于 2012-08-11T15:00:59.917 に答える
0

私の経験では、viewDidLoad が起動する前にビューにアクセスしようとすると、たとえば、ビュー コントローラーの init メソッドでこれにアクセスしようとすると、これが発生します。この場合は、viewDidLoad が起動してからビューにアクセスしてください。

于 2012-08-11T14:50:53.057 に答える
0

試す

[[MyViewController alloc] initWithNibname:@"mynibname" bundle:nil] 

この形式で適切なビューを割り当てます....試してみてください

于 2012-08-11T16:15:01.233 に答える