【发布时间】:2018-09-25 20:53:27
【问题描述】:
我正在处理一些旧代码。以下是我无法转换或无法理解的两行(旧代码):
let dispatchTime = dispatch_time(dispatch_time_t(DispatchTime.now()), Int64(seconds * Double(NSEC_PER_SEC)))
dispatch_after(dispatchTime, dispatch_get_main_queue(), block)
现在,为了让它在 Swift 4.x 中工作,这就是我为 line 1 所做的:
let dispatchTime = DispatchTime(uptimeNanoseconds: UInt64(Int64(seconds * Double(NSEC_PER_SEC))))
我根据here 提到的初始化器描述进行了这种转换:
创建一个相对于系统时钟的时间,该时间自启动以来滴答作响。
既然他们说它创建了一个相对时间,DispatchTime.now() 已经被考虑在内。更不用说,我可能错了。请纠正我。
对于第二行,我不知道如何将DispatchTime 作为DispatchAfter 中的参数传递。
【问题讨论】:
标签: ios swift grand-central-dispatch