2017-08-05 148 views
-1

我確實有下一個代碼,它的工作,但i'm尋找一種方法,使之更加優雅迅速的Xcode for循環陣列

var collectionAnswers = [0,0,1] 

if collectionAnswers[0] == 1 { 

     button1Oulet.backgroundColor = UIColor.green 
    } else { 

     button1Oulet.backgroundColor = UIColor.red 
    } 

    if collectionAnswers[1] == 1 { 

     button2Oulet.backgroundColor = UIColor.green 
    } else { 

     button2Oulet.backgroundColor = UIColor.red 
    } 

    if collectionAnswers[2] == 1 { 

     button3Oulet.backgroundColor = UIColor.green 
    } else { 

     button3Oulet.backgroundColor = UIColor.red 
    } 

到目前爲止,我已經來了下一個代碼,但我可以「T使其工作

可以請你幫我,,,這裏

樣的卡
for (index,element) in collectionAnswers.enumerated() { 

     switch index { 
     case 0, 1, 2: 
      if element == 0 {print("Bad")} 
      else { 

       for button in collectionOfButtons { 

        if index == button.tag && element == 1 { 

         button.backgroundColor = UIColor.green 

        } else { 

         button.backgroundColor = UIColor.red 
        } 
       } 

       print("OK") 
      } 
     default: 
      break 
     } 
    } 

感謝您的幫助!

+3

我投票作爲題外話,因爲它要求做一些工作的代碼更優雅的關閉這個問題。這是代碼評論網站的主題。 – dasblinkenlight

+0

忘記if then else。使用一個Switch語句。 –

回答

2

長話短說,創建一個包含按鈕OU(T)的附加陣列允許

let collectionAnswers = [0, 0, 1] 
let buttons = [button1Oulet, button2Oulet, button3Oulet] 

for (index, answer) in collectionAnswers.enumerated() { 
    buttons[index].backgroundColor = (answer == 0) ? .red : .green 
} 
+0

謝謝你,,,完美的作品,我真的很感謝你的幫助 –