我有一个这样的 UIViewController:
import UIKit
import WebKit
class ViewController: UIViewController {
var webView: WKWebView?
var backButton: UIButton?
override func loadView() {
self.webView = WKWebView()
self.backButton = UIButton(type: .system)
self.backButton?.addTarget(self.webView, action: #selector(goBack), for: .touchUpInside)
}
}
此代码尝试将后退按钮的点击连接到WKWebView
的goBack()
实例方法。请注意,我已经传递self.webView
给按钮的addTarget()
调用。
这会导致编译错误:"Use of unresolved identifier 'goBack'"
. 我认为 Swift 编译器将能够解析goBack()
到该WKWebKit
实例。
我可以编译它的唯一方法是手动传入self
和转发调用:goBack()
override func loadView() {
self.webView = WKWebView()
self.backButton = UIButton(type: .system)
self.backButton?.addTarget(self, action: #selector(goBack), for: .touchUpInside)
}
和
func goBack() {
self.webView?.goBack()
}
我在这里遗漏了一些明显的东西吗?