我使用Swift中的map
函数迭代一堆子视图并从超视图中删除它们。
self.buttons.map { $0.removeFromSuperview() }
当我从Swift 1.x升级到2.0时,Xcode发出警告,表示地图的返回值未使用。所以我用let x = ...
分配了它,我收到了另一个警告:
所以我让Xcode为我修复警告,它给了我这个:
_ = self.buttons.map { $0.removeFromSuperview() }
不在方法参数 的上下文中,下划线 的重要性是什么?这是什么意思?
修改:
我知道当一个方法参数是匿名的时,下划线取而代之。我在谈论方法中间的下划线。它不是信息的一部分。
答案 0 :(得分:8)
下划线表示您需要设置变量,但您不打算将来使用该变量。下划线不是给它一个精心设计的名称,而是更简单,更简洁,特别是在变量名无关紧要的情况下。 (因为你不再使用它。)
答案 1 :(得分:3)
忽略本地名称为下划线的参数。调用者必须提供一个参数,但它在函数体中没有名称,并且不能在那里引用。它基本上是一个参数占位符,您不会将其用于正文中的任何内容。
答案 2 :(得分:-1)
如果我没有弄错,这是从Objective-C延续下来的。如果您没有在应用程序中“使用”指针,则会收到警告。在Swift 2中,我相信他们试图实现类似的东西。