是否可以从变量中分配目标?我有一个函数添加和删除一个非常冗余的目标,我想截断它。我创建了typealias
,它复制了UIButtonTarget
所需的参数,但无法在没有参数的情况下分配目标。错误:
缺少参数' action'的参数在电话中
@IBAction func didTapActionBtn(sender: UIButton){
typealias btnTarget = (_: AnyObject?, action: Selector, for: UIControlEvents)
let prevTarget: btnTarget = (self, action: #selector(self.showPrevApp), for: .touchUpInside)
if sender.tag == 0{
sender.tag = 1
prevBtn.removeTarget(prevTarget) //*Missing argument for parameter 'action' in call
nextBtn.removeTarget(self, action: #selector(self.showNextApp), for: .touchUpInside)
}else{
sender.tag = 0
prevBtn.addTarget(self, action: #selector(self.showPrevApp), for: .touchUpInside)
nextBtn.addTarget(self, action: #selector(self.showNextApp), for: .touchUpInside)
}
}
答案 0 :(得分:2)
你想要做的事情(隐式元组摔跤行为)曾经在Swift中工作,但它在Swift 2.2中被弃用并在Swift 3中删除。
以下是Swift 2.2错误消息:
不推荐将3个参数作为单个元组值传递给被调用者
有关删除元组splat行为的动机,请参阅以下内容: