ios - 在 Swift 中迭代 For 循环超时

标签 ios swift loops for-loop

如何在 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/

相关文章:

ios - UIView 类中的 CollectionView IBOutlet 返回 nil - 只是有时?

ios - 我的所有对象都在我的 iOS 模拟器中消失了,这是为什么?

swift - SwiftUI添加倒立面膜

c++ - 仅限十进制数的无限循环

java - 优化:使 SQL 查询脱离循环

javascript - GAS/Javascript 在汇总数字时给出错误的数字

iphone - 通过另一个实体属性设置核心数据实体属性

swift - 如何在没有 InfoView 的情况下在 GMSMarker 上添加点击事件

swift - Swift 中的委托(delegate),我们需要它们吗?

ios - 如何在Google Analytics界面查看userID?