延迟不到一秒,Swift2

Delay of less than one second, Swift 2

我无法更新 Swift 因为我上次尝试更新时,它根本不起作用(请参阅应用商店中大量的一星评论),所以我找到了其他解决方案,对于 Swift 3.0,不适合我。

我用来延迟函数的代码是:

   let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 1 * Int64(NSEC_PER_SEC))
    dispatch_after(time, dispatch_get_main_queue()) {
        //random function
    }

我想要的是延迟小于 1。将“1”更改为“0.3”不起作用,因为

Binary operator * cannot be applied to operands of type Int64 and Double.

有人知道使延迟小于 1 的技巧吗?

编译器说您不能将 * 用于两个不同的操作数类型 Int64Doubledelta 参数 dispatch_time 是类型Int64你可以这样做。

let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), Int64(Double(NSEC_PER_SEC) * 0.5))
dispatch_after(time, dispatch_get_main_queue()) {
    //random function
}