如何在 swift 中迭代 for 循环超时?典型的循环将立即尽可能快地执行。但是,我想延长循环发生的时间。 假设我有以下循环:
for var i = 0; i < 4; i+=1{
print(i)
}
我希望这个循环在 1 秒内发生,每次迭代需要 0.25 秒。我怎么能这样做?感谢您的帮助
最佳答案
您可能想创建一个像这样的计时器:
timer = NSTimer.scheduledTimerWithTimeInterval(0.25, target: self, selector: #selector(MyClass.tic), userInfo: nil, repeats: true)
time.fire() //first time
此计时器在触发时将调用使用 #selector 选择的函数,并且每 0.25 秒触发一次(第一个参数),直到您使其无效。所以当你结束循环后你可以 调用timer.invalidate()
tic() 是一个您可以定义的函数,并且可以具有您想要的任何名称:
func tic() {
numberOfTimeFired = numberOfTimeFired + 1
print(numberOfTimeFired)
}
在 Swift 3 中,计时器声明为:
timer = Timer.scheduledTimer(timeInterval: 0.25, target: self, selector: #selector(MyClass.tic), userInfo: nil, repeats: true)
关于ios - 在 Swift 中迭代 For 循环超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37935653/