Der*_*123 8 ios swift swift3 xcode8
根据@matt 使用的这个精彩答案dispatch_after,我在操场上尝试了代码,它工作正常(没有错误).但是,当我尝试执行向后兼容时DispatchTime.now(),iOS 10只有这样才可用:
func delay( _ delay: Double, closure: () -> ()){
guard #available(iOS 10, *) else {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
return
}
let when = DispatchTime.now() + delay
DispatchQueue.main.after(when: when, execute: closure)
}
Run Code Online (Sandbox Code Playgroud)
编译器提供修复DISPATCH_TIME_NOWto Replace "DISPATCH_TIME_NOW" with "dispatch_time_t(DISPATCH_TIME_NOW)"并抛出错误说
无法将'Int'类型的值转换为预期的参数类型'dispatch_time_t'(又名'UInt64')
我尝试修复它,因为编译器提供但最终导致更多错误.我应该如何在这里使用向后兼容性?我在做什么错了?请帮助,谢谢!
| 归档时间: |
|
| 查看次数: |
4673 次 |
| 最近记录: |