簡體   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