我试图在
swift 3中为一个闭包定义一个类型别名:
public typealias URLRequestClosure = (response: URLResponse?,data: Data?,error: Error?) -> Void
我得到一个错误,我应该在参数的名称之前加上下划线.即:
public typealias URLRequestClosure =(_ response:URLResponse?,_ data:Data?,_ error:Error?) – >空虚
谁能解释我为什么?这与Swift 3有什么关系?
非常感谢
解决方法
您不能在闭包类型中指定参数名称.所以代替:
public typealias URLRequestClosure = (response: URLResponse?,error: Error?) -> Void
你应该使用:
public typealias URLRequestClosure = (URLResponse?,Data?,Error?) -> Void