Ios 按顺序的按钮
这是我的密码:Ios 按顺序的按钮,ios,swift,xcode,uibutton,segue,Ios,Swift,Xcode,Uibutton,Segue,这是我的密码: import UIKit class ViewController: UIViewController { func transfer(controller: UIViewController) { let vc = ViewController() //View controller segueing to self.present(vc, animated: true, completion: nil) } override func viewDidLo
import UIKit
class ViewController: UIViewController {
func transfer(controller: UIViewController) {
let vc = ViewController() //View controller segueing to
self.present(vc, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let btn1 = UIButton(frame: CGRect(x: 10, y: 10, width: 100, height: 30))
btn1.backgroundColor = UIColor.clear
btn1.addTarget(self, action: #selector(transfer(controller: ViewController2())), for: UIControlEvents.touchUpInside)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我遇到的问题是:
“#选择器”的参数未引用“@objc”方法、属性或初始值设定项
我想知道这意味着什么,以及如何修复它。我曾尝试用@objc替换#选择器,并尝试在#选择器之前添加@objc。谢谢你的帮助
错误:选择器的参数未引用@objc
方法
问题不在于添加“打开目标”按钮。它具有功能transfer
,它应该符合@objc
协议,因为#选择器只能参考@objc
方法:
保持如下功能:
@objc func transfer() {
let vc = ViewController() //View controller segueing to
self.present(vc, animated: true, completion: nil)
}
将选择器添加为:
btn1.addTarget(self, action: #selector(self.transfer), for: UIControlEvents.touchUpInside)
错误:选择器的参数未引用@objc
方法
问题不在于添加“打开目标”按钮。它具有功能transfer
,它应该符合@objc
协议,因为#选择器只能参考@objc
方法:
保持如下功能:
@objc func transfer() {
let vc = ViewController() //View controller segueing to
self.present(vc, animated: true, completion: nil)
}
将选择器添加为:
btn1.addTarget(self, action: #selector(self.transfer), for: UIControlEvents.touchUpInside)
它不能像视图控制器那样具有任意参数。iAction选择器只能将发件人作为参数。@vacawama,我知道这一点,但我决定不把我的评论和详细程度混为一谈。我想我可以更准确地表达我的评论:“一个
@IBAction
方法不能接受任意参数。它要么不接受参数,要么接受单个参数(发送方),要么接受发送方和触发动作的UIEvent。”而且它不能像视图控制器那样拥有任意参数。iAction选择器只能将发件人作为参数。@vacawama,我知道这一点,但我决定不把我的评论和详细程度混为一谈。我想我可以更准确地表达我的评论:“一个@IBAction
方法不能接受任意参数。它要么不接受参数,要么接受单个参数(发送方),要么接受发送方和触发该操作的UIEvent。”