目前Swift中没有[NSRunLoop -performSelector:target:argument:order:modes:]
。 [NSObject -performSelector:withObject:afterDelay:]
也是如此。如何安排一段代码在Swift的下一个runloop中执行?
答案 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
}