我有一个带
的UIViewController@IBOutlet weak var webView: UIWebView!
接口生成器将初始化webView
。在我的init()
中,它仍未被初始化。
假设我想设置像webView.delegate
这样的参数,我会把这个代码放在哪里,只调用一次并在正确的时间调用?
答案 0 :(得分:3)
另一种可能性是使用属性观察者:
@IBOutlet weak var webView: UIWebView! {
didSet {
webView.delegate = self
...
}
}
在webview设置完成后立即调用。
答案 1 :(得分:0)
View Controller生命周期为:
因此,在viewDidLoad
中,您确定已设置插座,您可以指定代理人。
来自CS193P说明:
实例化和插座设置后,调用viewDidLoad
这是放置大量设置代码的非常好的地方。 它比init更好,因为你的出口都被设置了它被调用的时间。