在Swift 2中,调用函数时似乎并不总是需要第一个参数名称。现在在Swift 3中,调用函数时需要第一个参数名称。例如:
func frobnicate(runcible: String) { print("Frobnicate: \(runcible)") }
Swift 2.2允许通过简单键入以下内容来调用该函数:
Frobnicate("Station")
Swift 3似乎要求我们使用方法的第一个参数名称,例如:
Frobnicate(runcible:"Station")
Swift 3是否适用于所有函数和方法,还是仅适用于某些情况?
是的,这是正确的。Swift正以这种方式解决语言不一致的问题(初始化程序始终需要这样做)。
如果您不想使用外部参数名称,只需将其显式删除即可:
func frobnicate(_ runcible: String) { print("Frobnicate: \(runcible)") }
您可以在Swift Evolution 0046中阅读完整的原理