【发布时间】:2016-06-17 22:23:07
【问题描述】:
我有一个这样的 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()
}
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
标签: ios swift2 selector addtarget