一尘不染

Swift编程语言中的“ _”和“ in”是什么意思?

swift

我在github上找到了一些用Swift编写的代码,

并对这条线有些困惑

var done: (NSError?, NSData, NSString?) -> () = { (_, _, _) -> () in }

您能解释一下这条线的真正含义吗?非常感谢你!


阅读 876

收藏
2020-07-07

共1个答案

一尘不染

_意思是不要给那东西起名字。它可以在许多地方使用。就您而言,这就是说忽略传递给闭包的变量。您提供的代码将忽略所有参数,但您也可以忽略某些参数。

in是执行关闭的开始。在您的示例代码中,闭包的实现为空。

总体而言,该行定义了一个名为“
done”的闭包,该闭包接受一个可选的NSError(NSError?),NSData(NSData)和可选的NSString(NSString?),并且不返回任何内容(-> ())。闭包的实际实现不执行任何操作。

2020-07-07