[英]What does this underscore mean in Swift?
我使用Swift中的map
函数迭代一堆子视图并从superview中删除它们。
self.buttons.map { $0.removeFromSuperview() }
当我从Swift 1.x升级到2.0时,Xcode发出警告,表示地图的返回值未使用。 所以我用let x = ...
分配了它,我得到另一个警告:
所以我让Xcode为我修复警告,它给了我这个:
_ = self.buttons.map { $0.removeFromSuperview() }
不在方法参数的上下文中,下划线的意义是什么? 这是什么意思?
编辑:
我知道当一个方法参数是匿名的时,下划线取代它们。 我正在谈论方法中间的下划线。 它不是信息的一部分。
下划线表示您需要设置变量,但您不打算在将来使用该变量。 下划线不是给它一个精心设计的名称,而是更简单,更简洁,特别是在变量名无关紧要的情况下。 (因为你不再使用它。)
将忽略本地名称为下划线的参数。 调用者必须提供一个参数,但它在函数体中没有名称,并且不能在那里引用。 它基本上是一个参数占位符,您不会将其用于正文中的任何内容。
如果我没有弄错,这是从Objective-C延续下来的。 如果您没有在应用程序中“使用”指针,则会收到警告。 在Swift 2中,我相信他们试图实现类似的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.