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

Ios swift函数可以有默认的完成处理程序吗?,ios,swift,Ios,Swift,在Swift中,函数可以具有如下参数的默认值: func init(name: String = "foo"){...} 具有完成处理程序的函数是否可以具有默认值,以便在调用函数时不需要将completionHandler指定为nil,如下所示 func foo(completion: (success: Bool) -> void = nil){...} 您可以这样做: func foo(completion: (success: Bool) -> Void = {_ in }

在Swift中,函数可以具有如下参数的默认值:

func init(name: String = "foo"){...}
具有完成处理程序的函数是否可以具有默认值,以便在调用函数时不需要将completionHandler指定为nil,如下所示

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

您可以这样做:

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

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

您希望默认值是nil,还是希望默认值是某个特定的完成处理程序?那么@escaping呢?