Swift - 如何使用尾随闭包实现完成处理程序?

时间:2016-06-20 12:31:59

标签: swift closures

假设我有一些能做某些事情的功能

func doSomethingAwesome(completion:(success:Bool) -> Bool) {

//some stuff

}

如何将其转换为尾随闭包?如何将控制从函数体转换为完成块?

2 个答案:

答案 0 :(得分:1)

它已经落后了。您可以在正文中调用完成:

func doSomethingAwesome(completion:(success:Bool) -> Bool) {

    //some stuff
    let result = completion(success: true)
}

这就是如何使用尾随闭包语法调用此函数:

doSomethingAwesome {
        success in
        return success
    }

答案 1 :(得分:0)

您可以通过执行以下操作来调用该函数(已经有一个尾随闭包):

doSomethingAwesome{ finished in

    if finished{
          return true
    }
return false
}

您的完成处理程序的类型为Bool。所以我在这里展示了Bool