如何根据Swift 3中的时间间隔创建if-else语句

时间:2016-12-27 01:49:54

标签: ios swift

现在我的应用程序有一个在几秒钟内运行的计时器。我希望代码能够像这样工作。当计时器达到10秒时,显示图像A,否则显示图像B

if green {
  timer.invalidate()
  startStop.isEnabled = true
  scoreTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(ViewController.updateScoreTime), userInfo: nil, repeats: true)
}

1 个答案:

答案 0 :(得分:3)

设置imageA。使用计划的计时器在10秒内设置imageB

imageView.image = imageA
Timer.scheduledTimer(withTimeInterval: 10, repeats: false) { _ in
    imageView.image = imageB
}

注意:只在iOS 10及更高版本上使用带有块的Timer。如果您支持较旧的iOS版本,则需要使用带有选择器的版本。

如果每秒调用updateScoreTime例程并执行更多只管理图像的例程,则可以保留属性中秒数的计数:

imageView.image = imageA
scoreTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateScoreTime), userInfo: nil, repeats: true)
count = 0

当计时器弹出时:

func updateScoreTime(_ timer: Timer) {
    // update score time
    ...

    // change picture if >= 10 seconds
    count += 1
    if count >= 10 {
        imageView.image = imageB
    }
}