Swift:在GCD完成块中返回布尔值 [英] Swift: Return boolean in GCD Completion Block
本文介绍了Swift:在GCD完成块中返回布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个用Swift写的函数。我想要完成块返回一个布尔值。我该怎么做呢?我使用大中央调度。
I have a function written in Swift. I want the completion block to return a boolean. How can I go about doing this? I am using Grand Central Dispatch.
func myFunc() -> Bool
{
var success:Bool = false
// code here
dispatch_async(dispatch_get_main_queue(), {
return success
)}
)}
}
>
推荐答案
标准为什么处理这个异步性质不是返回值,而是传入完成处理程序:
Standard why of dealing with this async nature is not to return value, but pass in completion handler:
func myFunc(completion:(success: Bool) -> ()) {
var success:Bool = false
// code here
dispatch_async(dispatch_get_main_queue()) {
completion(success: success)
}
}
然后使用它:
myFunc({ (success) in
// ...
})
这篇关于Swift:在GCD完成块中返回布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文