如何在viewDidLoad()之前放置override func?

时间:2015-07-26 04:33:30

标签: swift

打开ViewController.swift进行编辑,在viewDidLoad()之前将问题下方的代码放入ViewController.Swift的默认代码中? 如何使用上面的说明将以下四行代码放入ViewController.Swift的默认代码中?

override func loadView() {
    webView = WKWebView()
    webView.navigationDelegate = self
    view = webView
}

默认代码ViewController.Swift:

import UIKit  

class ViewController: UIViewController {  
    override func viewDidLoad() {  
        super.viewDidLoad()  
    }

    override func didReceiveMemoryWarning() {  
        super.didReceiveMemoryWarning()  
    }  
}

2 个答案:

答案 0 :(得分:2)

我猜你有一个故事板,其中定义了ViewController。如果是,则不得覆盖loadView()

  

如果使用Interface Builder创建视图并初始化视图控制器,则不得覆盖此方法。

(来自UIViewController班级参考)

而是在故事板中编辑视图的类并将其设置为WKWebView。要获取webView引用,请将其创建为插座:

@IBOutlet weak var webView: WKWebView!

并将其作为引用插座链接到故事板中的视图。

(或者您可以将WKWebView置于默认UIView内;更简单。您可以通过viewDidLoad()或通过故事板以编程方式执行此操作。)

或者,如果您没有故事板,那么只需将代码复制到class内的编辑器中,但在现有功能之外?

答案 1 :(得分:-1)

import UIKit  

class ViewController: UIViewController { 

    override func loadView() {
        webView = WKWebView()
        webView.navigationDelegate = self
        view = webView
    }

    override func viewDidLoad() {  
        super.viewDidLoad()  
    }

    override func didReceiveMemoryWarning() {  
        super.didReceiveMemoryWarning()  
    }  
}

但是,重要的不是func在课堂上的位置:

import UIKit  

class ViewController: UIViewController { 
    override func viewDidLoad() {  
        super.viewDidLoad()  
    }

    override func didReceiveMemoryWarning() {  
        super.didReceiveMemoryWarning()  
    }  

    override func loadView() {
        webView = WKWebView()
        webView.navigationDelegate = self
        view = webView
    }
}