这个快速功能发生了什么?

时间:2014-09-21 15:08:10

标签: ios function parameters swift xcode6

我试图快速学习并将我的大脑包裹在这里发生的事情上。任何指导都将非常感谢。

此示例来自swift tour

1. class Counter {
2.     var count: Int = 0
3.     func incrementBy(amount: Int, numberOfTimes times: Int) {
4.         count += amount * times
5.     }
6. }
7. var counter = Counter()
8. counter.incrementBy(2, numberOfTimes: 7)


问题1:在第三行,为什么要使用' numberOfTimes'而不仅仅是'时代'在它自己的?

问题2:在第八行,为什么我需要传递参数的名称' numberOfTimes'但不是参数'数量'?

的名称

2 个答案:

答案 0 :(得分:2)

1°)参数可以具有外部名称和内部名称。调用方法时将使用外部名称,并且将在方法内使用内部名称。因此,您可以使用像tableView(tableView:UITableView, numberOfRowInSection section:Int)这样的表达方法,而无需在函数内使用长命名参数。

2°)方法规则:第一个参数不必命名,但其他参数需要。这是为了理解问题。 示例:counter.incrementBy(2, 7);在这里,您可以理解为什么2由于incrementBy而被使用,但您无法理解7用于什么

答案 1 :(得分:0)

您可以在official documentation中找到有关功能参数名称的所有答案。

具体来说,您应该阅读外部参数名称