如何在Swift中调度一段代码在下一个runloop中执行?

7ajki6be  于 2022-11-21  发布在  Swift
关注(0)|答案(3)|浏览(130)

Swift中目前没有[NSRunLoop -performSelector:target:argument:order:modes:][NSObject -performSelector:withObject:afterDelay:]也没有。我如何安排一段代码在Swift的下一个runloop中执行?

jxct1oxe

jxct1oxe1#

在Swift 3和4中:

DispatchQueue.main.async() {
    // ...
}

在Swift版本中低于3:

dispatch_async(dispatch_get_main_queue()) { 
    // ... 
}
qzlgjiam

qzlgjiam2#

雨燕3

DispatchQueue.main.async() {
    // ...
}
czq61nw1

czq61nw13#

我想出了如何做到这一点。只需在主队列上使用OperationQueue(可可中为NSOperationQueue)对基于块的操作进行排队。

OperationQueue.main.addOperation { () -> Void in
    // Do your things
}

相关问题