关闭时使用函数

时间:2016-08-09 23:43:39

标签: swift

我正在尝试在闭包中使用函数,但是我收到错误'无法将type()的值转换为闭包结果类型Bool'。以下代码演示了错误。我怎样才能做到这一点?

func test1(){
    test2(){ success in
        self.test1()
    }
}

func test2(completionHandler: (Bool) -> Bool){
    completionHandler(true)
}

1 个答案:

答案 0 :(得分:1)

您指定test2闭包返回Bool,因此返回一个:

func test1(){
    test2 { (success) -> Bool in
        test1()
        return success
    }
}

如果您不想从中返回值,请test2的封闭回复无效:

func test1(){
    test2 { (success) in
        test1()
    }
}

func test2(completionHandler: (Bool) -> Void){
    completionHandler(true)
}