我的sender.tag switch语句不起作用

时间:2016-05-07 19:06:16

标签: ios swift button switch-statement sigabrt

我的开关不起作用,当我按下“buttonAclicked”的第一个按钮时,显示的标签也是我想要的,但是当我尝试点击带有标签3的按钮时,我得到一个SIGABRT错误,崩溃整个事情。       我知道带有标签3的按钮有效,因为我已经打印出了自己的IBAction: “>” 中

但是当我将它设置为switch语句时它不起作用,除了错误和其他打印而不是最后一次打印时没有打印任何内容

func buttonAclicked(sender: UIButton) {
    print("button A was pressed")

    label.hidden = false
    label.setNeedsDisplay()
    if(sender.isKindOfClass(UIButton)) {
        print("hey")
    }

    switch sender.tag {
    case 3 :
        print("buuuutttttooonnn")
        break
    default :
        label.text = "0"
    }
}

1 个答案:

答案 0 :(得分:0)

创建正确的Button IBAction并正确连接到情节提要。它应该可以解决您的SIGABRT错误。 您的错误,因为未将IBAction正确连接到情节提要

@IBOutlet weak var buttonOutlat: UIButton! // creat Button Outlet hera
@IBOutlet weak var label: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    buttonOutlat.tag = 3 //  <- you can set sender.tag here
}

@IBAction func buttonAclicked(_ sender: UIButton) { // creat proper Button Action
    print("button A was pressed")

    switch sender.tag{
    case 3 :
        print("buuuutttttooonnn---3")
        label.text = "button-3"
        break
    default :
        label.text = "button-default"
    }
}