在Swift 3中为闭包定义typealias

Gal*_*rom 4 ios swift swift3

我试图在swift 3中为一个闭包定义一个类型别名:

 public typealias URLRequestClosure = (response: URLResponse?, data: Data?, error: Error?) -> Void
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,我应该在参数的名称之前添加下划线.即: public typealias URLRequestClosure = (_ response: URLResponse?, _ data: Data?, _ error: Error?) -> Void 谁能解释我为什么?这与Swift 3有什么关系?

非常感谢

Mid*_* MP 7

您不能在闭包类型中指定参数名称.所以代替:

public typealias URLRequestClosure = (response: URLResponse?, data: Data?, error: Error?) -> Void
Run Code Online (Sandbox Code Playgroud)

你应该使用:

public typealias URLRequestClosure = (URLResponse?, Data?, Error?) -> Void
Run Code Online (Sandbox Code Playgroud)