作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 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/
我是一名优秀的程序员,十分优秀!