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。”