UIButton

时间:2017-03-18 22:55:25

标签: ios iphone swift xcode swift3

我有UIButton,我想在按钮的功能之间切换。第一种情况是打印问候,第二种情况是打印是。它将重新启动并一直持续进行。我试过但我一直都失败了。我在下面尝试了这个,但是我一直收到"类型' Int'的表达模式的错误。无法匹配' Bool'在案例0:和案例1:。我试图在每次按下时切换按钮的功能

func Target(sender: UIButton){

switch (true){

case 0:
    print("hello")
case 1:
    print("yes")

default:
    println("hello")
}

}

2 个答案:

答案 0 :(得分:1)

虽然在许多语言中,您可以使用整数值01作为布尔值truefalse,但Swift是强类型的,因此{{1 }}不是Int。这就是Swift编译器告诉你的。

此外,您还有一个逻辑错误。您正在启用值Bool。这是一个常数,所以它永远不会是任何其他价值; true函数无关紧要。

你想要做的是打开一些其他状态变量的值,在那里你跟踪是否应该打印' hello'或者'是'

switch

另请注意,按照惯例,只有类和结构名称应以大写字母开头。属性和函数应以小写字母开头。坚持这个惯例将帮助其他人(和你)阅读你的代码并理解它是什么。

答案 1 :(得分:0)

您可以在不使用项目中任何额外布尔值的情况下执行相同操作。只需使用按钮选择/取消选择状态。

func target(_ sender: UIButton) {
        if sender.isSelected{
            sender.isSelected = false
        }
        else{
            sender.isSelected = true
        }
    }