Swift中的dispatch_async

时间:2014-12-27 06:45:00

标签: iphone swift xcode6 dispatch-async

我对这种名为swift的编程语言并不熟悉。

我用

dispatch_async(dispatch_get_main_queue(), ^{
});

xcode 5中async-dispatch-queue的此方法。

我想用快速语言实现它。

如何在swift中实现调度队列?

3 个答案:

答案 0 :(得分:2)

您可以使用以下语法:

dispatch_async(dispatch_get_main_queue(), {
    println("hello")
})

但是,当最后一个参数是一个块时,Swift允许你把它放在括号之外。这使得函数看起来更像是一个控制结构(如forif语句)。因此,您可以这样做:

dispatch_async(dispatch_get_main_queue()) {
    println("hello")
}

答案 1 :(得分:1)

Xcode为您提供了简单的帮助......

只需输入

即可

dispatch_async并点击输入...比XCode给你这样的东西......

dispatch_async(queue: dispatch_queue_t!, block: dispatch_block_t! () -> Void)

现在用鼠标双击block: dispatch_block_t! () -> Void,XCode会自动将其更改为工作闭包表达式: - )

dispatch_async(dispatch_get_main_queue(), { () -> Void in
     //Your Code here       
})

答案 2 :(得分:1)

对于那些在我三年后观看此帖的人,我的Swift功能得到了改进。现在你可以写:

DispatchQueue.main.async(execute: { () -> Void in
    // Your code here
})