gpt4 book ai didi

ios - 在 DispatchAfter 中将 DispatchTime 作为参数传递

转载 作者:行者123 更新时间:2023-11-28 12:03:28 24 4
gpt4 key购买 nike

我正在处理一些旧代码。以下是我无法转换或无法理解的两行(旧代码):

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 中工作,这就是我为第 1 行 所做的:

let dispatchTime =  DispatchTime(uptimeNanoseconds: UInt64(Int64(seconds * Double(NSEC_PER_SEC))))  

我根据提到的初始化程序描述进行了此转换 here :

Creates a time relative to the system clock that ticks since boot.

因为他们说它创建了一个相对时间DispatchTime.now() 已经被考虑过了。更不用说,我可能是错的。请纠正我。

对于第二行,我不知道如何将 DispatchTime 作为参数传递给 DispatchAfter

最佳答案

这就是您在 Swift 3+ 中想要的:

let seconds = 2.0
// dispatchTime 2 seconds from now:
let dispatchTime: DispatchTime = DispatchTime.now() + seconds
DispatchQueue.main.asyncAfter(deadline: dispatchTime) {
// code to be executed
}

关于ios - 在 DispatchAfter 中将 DispatchTime 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49851843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com