延迟不到一秒,Swift 2

Posted

技术标签:

【中文标题】延迟不到一秒,Swift 2【英文标题】:Delay of less than one second, Swift 2 【发布时间】:2017-06-02 05:30:58 【问题描述】:

我无法更新 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”不起作用,因为

二元运算符 * 不能应用于 Int64Double 类型的操作数。

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

【问题讨论】:

【参考方案1】:

编译器说您不能将*Int64Double 两个不同的操作数类型一起使用,因为dispatch_timedelta 参数是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

【讨论】:

谢谢,这很好用!我投了赞成票,但我没有足够的声誉来展示它。 @JohnKasich_2016 欢迎朋友 :) 不知道这个。再次感谢您! @JohnKasich_2016 欢迎朋友,很高兴你现在知道了 :)

以上是关于延迟不到一秒,Swift 2的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 在 Swift 4.2 中产生延迟

C sleep(1)用来延迟一秒,精确吗?

一个程序员的自白(延迟满足)

可以减少 Android 上的 SoundManager 2 延迟吗?

Swift:延迟增加标签

Flutter Audioplayers 延迟