如何安排一段代码在Swift的下一个runloop中执行?

时间:2014-10-13 14:22:28

标签: cocoa cocoa-touch swift

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

3 个答案:

答案 0 :(得分:3)

在Swift 3和4中:

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

在3以下的Swift版本中:

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

答案 1 :(得分:2)

Swift 3

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

答案 2 :(得分:-1)

我想出了怎么做。只需使用NSOperationQueue将主要队列上的基于块的操作排入队列。

NSOperationQueue.mainQueue().addOperationWithBlock {[unowned self] () -> Void in
    // Do your things
}