私はifステートメントでは良いと思っていましたが、明らかにまだ何か不足しています。ラインtimer.invalidate()
では、コンパイラは"if"ステートメント、条件は決して実行されません
を不平を言う限り、私は私の構文が正しいことを伝えることができるよう
を実行されることはありません。
@IBAction func button(_ sender: Any) {
let timer = Timer.scheduledTimer(timeInterval:0.2 , target: self, selector: #selector(ViewController.imageSwitch) , userInfo: nil, repeats: true)
var buttonState = false
if buttonState == true {
timer.invalidate()
buttonState = false
}
if buttonState == false {
timer.fire()
buttonState = true
}
}
何をしようとしますか? 'buttonState'をfalseに設定して、それが真であるかどうかをチェックします。もちろんそれは当てはまりません。 – Sweeper
この行を削除し、 'var buttonState = false'メソッドを' @IBAction func button(_ sender:Any) 'メソッドの外に追加します。 – Amit
var buttonState = falseをグローバルに設定する必要があります。そうでない場合は、この条件は真になりません。 – Hitesh