swift函数可以有一个默认的完成处理程序吗?

时间:2016-06-29 17:24:15

标签: ios swift

在Swift中,函数可以为这样的参数设置默认值:

func init(name: String = "foo"){...}

具有完成处理程序的函数是否具有默认值,以便在调用函数时不需要将completionHandler指定为nil,类似于下面的内容?

func foo(completion: (success: Bool) -> void = nil){...}

1 个答案:

答案 0 :(得分:20)

你可以这样做:

func foo(completion: (success: Bool) -> Void = {_ in }) {
    completion(success:true)
}

或者这个:

func foo(completion: ((success: Bool) -> Void)? = nil) {
    completion?(success:true)
}