我在github上找到了一些用Swift编写的代码,
并对这条线有些困惑
var done: (NSError?, NSData, NSString?) -> () = { (_, _, _) -> () in }
您能解释一下这条线的真正含义吗?非常感谢你!
_意思是不要给那东西起名字。它可以在许多地方使用。就您而言,这就是说忽略传递给闭包的变量。您提供的代码将忽略所有参数,但您也可以忽略某些参数。
_
in是执行关闭的开始。在您的示例代码中,闭包的实现为空。
in
总体而言,该行定义了一个名为“ done”的闭包,该闭包接受一个可选的NSError(NSError?),NSData(NSData)和可选的NSString(NSString?),并且不返回任何内容(-> ())。闭包的实际实现不执行任何操作。
NSError?
NSData
NSString?
-> ()