MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];
nib 文件 myView.nib 有 2 个 uiimageviews 和 2 个 uilabels。当我第一次初始化 myViewController 时,所有 4 个子视图都设置为 0x0。第二次我没有得到这样的行为。
MyController *myViewController = [[MyController alloc] initWithNibName:@"myView" bundle:nil];
nib 文件 myView.nib 有 2 个 uiimageviews 和 2 个 uilabels。当我第一次初始化 myViewController 时,所有 4 个子视图都设置为 0x0。第二次我没有得到这样的行为。
在通过 self.view 引用并调用 loadView 之前,不会创建视图对象本身。可能是您第一次尝试检查视图或对其执行某些操作时尚未发生,第二次可能是在系统创建视图之后,如果您将其添加到另一个视图或导航控制器或某物。
您可能忘记将 Nib 文件中view
的视图连接到 MyController 的属性,和/或将子视图连接到各种IBOutlets
MyController。
凯夫拉是绝对正确的。您可以使用以下语句强制加载视图并设置所有引用:
if (myViewController.view);
除了将所有子视图绑定到网点之外,它什么也不做。