繁体   English   中英

每次调用时都使用 func 来替代任务 a 或 b

[英]use func to alternative either task a or b every time it is called

这是在 switft 代码中。 我想将当前为红色的按钮的背景颜色更改为蓝色。 但是它再次点击我希望它从蓝色变为红色。 我通常会如何做到这一点。

var counter = 0
var button = UIButton()

func switch(){
if counter % 2 == 0 {
  button.backgroundcolor = .blue
  }
    else {
    button.backgroundcolor = .red }
   counter += 1}

我写这个问题是因为虽然我正在做的是工作。 我认为必须有一种更有效的方式来编写代码,而不是声明一个 var 并将其潜水。

因为只有两个状态将counter声明为 Bool

var backgroundColorIsBlue = false

switch函数中——它不能编译,因为switch是一个保留字——只需切换(反转)Bool 并设置背景颜色。 三元运算符使用?之后的值? 如果backgroundColorIsBluetrue则为:之后的值。

@objc func switchAction(_ sender : UIButton) {
    backgroundColorIsBlue.toggle()
    sender.backgroundColor = backgroundColorIsBlue ? .blue : .red
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM