我有UIButton
,我想在按钮的功能之间切换。第一种情况是打印问候,第二种情况是打印是。它将重新启动并一直持续进行。我试过但我一直都失败了。我在下面尝试了这个,但是我一直收到"类型' Int'的表达模式的错误。无法匹配' Bool'在案例0:和案例1:。我试图在每次按下时切换按钮的功能
func Target(sender: UIButton){
switch (true){
case 0:
print("hello")
case 1:
print("yes")
default:
println("hello")
}
}
答案 0 :(得分:1)
虽然在许多语言中,您可以使用整数值0
和1
作为布尔值true
和false
,但Swift是强类型的,因此{{1 }}不是Int
。这就是Swift编译器告诉你的。
此外,您还有一个逻辑错误。您正在启用值Bool
。这是一个常数,所以它永远不会是任何其他价值; true
函数无关紧要。
你想要做的是打开一些其他状态变量的值,在那里你跟踪是否应该打印' hello'或者'是'
switch
另请注意,按照惯例,只有类和结构名称应以大写字母开头。属性和函数应以小写字母开头。坚持这个惯例将帮助其他人(和你)阅读你的代码并理解它是什么。
答案 1 :(得分:0)
您可以在不使用项目中任何额外布尔值的情况下执行相同操作。只需使用按钮选择/取消选择状态。
func target(_ sender: UIButton) {
if sender.isSelected{
sender.isSelected = false
}
else{
sender.isSelected = true
}
}