我有一个这样的 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()
}
我在这里遗漏了一些明显的东西吗?