调用方法时,使用
Swift参数名称,除了第一个参数.为什么不使用名字?
使用Swift手册中的变体;
var count2: Int = 0 func incrementBy2(amount: Int,numberOfTimes times: Int) { count2 += amount * times}
这将工作;
incrementBy2(2,numberOfTimes: 7)
incrementBy2(amount: 2,numberOfTimes: 7)
在这里有一个理由,还是它是“只是它的方式”的东西之一?
这是遵循Objective-C所使用的约定,其中第一个参数的名称与方法名称相结合.以下是一个例子:
- (void)incrementByAmount:(NSInteger)amount numberOfTimes:(NSInteger)times { // stuff }
[self incrementByAmount:2 numberOfTimes:7];
通过将参数的名称并入到方法的名称中,阅读更加自然.在Swift中,您可以实现与以下相同的操作:
func incrementByAmount(amount: Int,numberOfTimes: Int) { // same stuff in Swift }
incrementByAmount(2,numberOfTimes: 7)
如果你不想使用这个约定,Swift可以让你更加明确,并定义单独的内部和外部参数名称,如下所示:
func incrementByAmount(incrementBy amount: Int,numberOfTimes: Int) { // same stuff in Swift // access `amount` at this scope. }
incrementByAmount(incrementBy: 2,numberOfTimes: 7)