何时创建视图?

时间:2012-06-02 22:48:49

标签: objective-c ios uiwebview

我提前为n00b问题道歉。我刚刚开始使用iOS!

我正在尝试将webViewController推送到导航控制器上。

mudWebViewController *webViewController = [[mudWebViewController alloc] initWithNibName:nil bundle:nil];
[[webViewController webView] setDelegate:webViewController];
[[self navigationController] pushViewController:webViewController animated:YES];

但这似乎不起作用,因为我没有在委托消息中看到任何日志。

如果我在viewDidLoad:方法中设置委托,它可以正常工作。

我想webView实际上并不存在,但为什么呢?如果我初始化控制器,不应该初始化webView吗?

viewDidLoad:设置这个东西的正确位置吗?

1 个答案:

答案 0 :(得分:1)

initWithNibName应该不是nil,因为你显然使用nib文件来构建视图,否则你必须在代码中创建视图,而不是

mudWebViewController *webViewController = [[mudWebViewController alloc] initWithNibName:@"webViewController" bundle:nil];
[[self navigationController] pushViewController:webViewController animated:YES];

此外,任何委托都应该从“接口”构建器或视图本身在viewDidLoad委托中设置,而不是从前一个类设置,因为该对象可能尚未在代码中初始化,因此无法正确设置委托

相关问题