在早期版本的Swift中,可以使用以下代码创建延迟:
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 4 * Int64(NSEC_PER_SEC)) dispatch_after(time, dispatch_get_main_queue()) { //put your code which should be executed with a delay here }
但现在,斯威夫特3时,Xcode自动改变6个不同的东西,但随后出现以下错误:“无法转换DispatchTime.now到预期值dispatch_time_t又名UInt64”。
DispatchTime.now
dispatch_time_t
UInt64
在Swift 3中运行一系列代码之前,如何创建延迟?
经过大量研究,我终于找到了答案。
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { // Change `2.0` to the desired number of seconds. // Code you want to be delayed }
这会在Swift 3和Swift 4中创建所需的“等待”效果。