延迟不到一秒,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”不起作用,因为
二元运算符 * 不能应用于 Int64 和 Double 类型的操作数。
有人知道使延迟小于 1 的任何技巧吗?
【问题讨论】:
【参考方案1】:编译器说您不能将*
与Int64
和Double
两个不同的操作数类型一起使用,因为dispatch_time
的delta
参数是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 中产生延迟