在Swift中遇到基本回调块问题

时间:2015-12-18 15:26:19

标签: ios swift

这里是Swift的新手。试图弄清楚如何从我写的任何异步函数中做一个非常简单的回调块。

例如:

 func downloadData(completion: (success: Bool) -> Void){

        let success: Bool
        //Some asynchronous task here
        success = true
        //Asynchronous task finished
        //Now I want to pass this back
        completion(success)

    }

我希望能够调用此函数并获取块中成功变量的值。但是我收到错误"在电话"中缺少参数标签成功。不要理解这里发生了什么。为什么我需要包含参数标签?任何关于此的指针都将非常感激!

1 个答案:

答案 0 :(得分:3)

您可以选择:

您可以在通话中添加标签

completion(success: success)

或省略声明中的标签

func downloadData(completion: (Bool) -> Void){

规则是:必须传递所有声明的标签