前提・実現したいこと
Xcodeで一台のスマホで最大5人までがクイズをできる早押しボタンアプリを作っています。
A,B,C,D,Eのボタンがあり、そのうちの最初に押されたボタンの色だけが赤くなるようにしたいです。
発生している問題・エラーメッセージ
scheduledTimerで、問題が始まってから(「次の問題」ボタンを押す)、ボタンが押されるまでの時間をそれぞれはかり、countNumA,countNumB,・・・とcountNumEまでおき、その時間が一番早かったものをminと置いて上のようになるようなコードを書いているのですが、Runしてもコードを書く前と変わらず、赤くなりません。
エラーメッセージ
Variable 'strArray' was never mutated; consider changing to 'let' constant
Replace 'var' with 'let'
という警告は出てきますが、エラーは出てきません。
該当のソースコード
swift
1 @IBAction func ButtonA(_ sender: UIButton){ 2 if AtimerRunning == true{ 3 Atimer.invalidate() 4 AtimerRunning = false 5 } 6 7 var strArray: [Int] = [countNumA, countNumB, countNumC, countNumD, countNumE] 8 let min = strArray.min() 9 if min == countNumA { 10 let ButtonA = UIButton() 11 ButtonA.backgroundColor = UIColor.red 12 13 number = number + "A" 14 Label1.text = String(number) 15 } 16 }
試したこと
minを使ってうまくいかなかったため、
if countNumA < countNumB && countNumA < countNumC && countNumA < countNumD && countNumA < countNumE {
Label1.text = "A"
let ButtonA = UIButton()
ButtonA.backgroundColor = UIColor.red
}
とも書いてみたりもしたのですが、それでもうまくいかなかったので、恐らく
let ButtonA = UIButton()
ButtonA.backgroundColor = UIColor.red
の部分が違うのだと思うのですが、どう直したらうまくいくのでしょうか?
補足情報(FW/ツールのバージョンなど)
ButtonAの部分を例に挙げて説明させていただきました。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー