viewController nib的视图是nil?

时间:2012-08-11 14:46:51

标签: iphone ios view xib

我曾经只是以编程方式创建viewController / views。

使用xib比我预期的要困难。

我发现xib或任何其他子视图的self.view最初是零。

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 

我觉得我错过了一些非常基本的东西。它会是什么?

3 个答案:

答案 0 :(得分:1)

the documentation for UIViewController中所述,当您第一次访问view属性时,视图会被延迟加载。您最早可以参考的是viewDidLoad

答案 1 :(得分:0)

根据我的经验,当我尝试在viewDidLoad触发之前访问视图时会发生这种情况,例如尝试在视图控制器的init方法中访问它。如果是这种情况,请等到viewDidLoad触发后访问视图。

答案 2 :(得分:0)

尝试

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

以这种格式分配正确的视图....试试吧