gpt4 book ai didi

ios - 将目标添加到属于不同对象的选择器

转载 作者:行者123 更新时间:2023-12-01 15:53:30 25 4
gpt4 key购买 nike

我有一个这样的 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)
}
}

此代码尝试将点击返回按钮连接到 WKWebViewgoBack() 实例方法。请注意,我已将 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()
}

我在这里遗漏了什么明显的东西吗?

最佳答案

你可以只限定你的选择器:

#selector(self.webView.goBack)

关于ios - 将目标添加到属于不同对象的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37891190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com