使用其他参数初始化隐式未打包的选项?

时间:2015-04-23 18:22:41

标签: ios objective-c swift

我有一个带

的UIViewController
@IBOutlet weak var webView: UIWebView!

接口生成器将初始化webView。在我的init()中,它仍未被初始化。

假设我想设置像webView.delegate这样的参数,我会把这个代码放在哪里,只调用一次并在正确的时间调用?

2 个答案:

答案 0 :(得分:3)

另一种可能性是使用属性观察者:

@IBOutlet weak var webView: UIWebView! {
    didSet {
        webView.delegate = self
        ...
    }
}

在webview设置完成后立即调用。

答案 1 :(得分:0)

View Controller生命周期为:

  1. 准备如果被隐瞒
  2. 插座设置
  3. didLoad,出现并消失
  4. 因此,在viewDidLoad中,您确定已设置插座,您可以指定代理人。

    来自CS193P说明:

      

    实例化和插座设置后,调用viewDidLoad

         

    这是放置大量设置代码的非常好的地方。   它比init更好,因为你的出口都被设置了它被调用的时间。