我无法更新 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 的任何技巧?
编译器说你不能将*
与两个不同的操作数一起使用Int64
和Double
delta
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
}