swift - 如何快速添加时间延迟

标签 swift time iteration

我正在用 swift 编写一个交互式游戏,我需要知道如何在重复操作之间添加暂停。我必须这样做的方法是在 for 循环中。如下:

for i in 1...10 {
    println("Hello!")
}

任何人都可以找到一种方法来修改此代码,以便它每秒打印一个“Hello”吗?

此外,如果快速 for 循环立即返回,我认为延迟代码不会在那里工作,所以这里是另一个迭代解决方案,使用在 for 循环不工作时应该工作的函数。 t。

func printer() {
    println("Hello")
    delay()
}

func delay() {
    //delay code goes here
    printer()
}

任何帮助将不胜感激。

谢谢。

最佳答案

试试这个

for i in 1...10{
    var timeToDelay = Double(i)
    delay(timeToDelay) {
        println("Hello")
    }
}

func delay(delay:Double, closure:()->()) {
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64(delay * Double(NSEC_PER_SEC))),dispatch_get_main_queue(), closure)
}

关于swift - 如何快速添加时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189259/

相关文章:

ios - 如何在 swift 中使用 cosmos 评级 Controller 显示半星评级?

ios - 使用 Youtube rest API 上传的视频失败

swift - CGRectGetMidX() 和 CGRectGetMidY() 发生了什么?

JavaScript DateTimePicker 返回错误的 unix 时间?

arrays - 从 Swift 3 中的字符串数组中读取随机项

swift - UIImage 大于约束尺寸

php - PHP 中明天的日出时间。如何?

c++ - 打印时间到 std::ostream

python - 如何根据伪代码正确实现求和和数组迭代。 PYTHON松弛法

java - 迭代多维 ArrayList