这个Swift函数声明中的额外变量是什么

时间:2015-01-14 00:42:10

标签: ios swift

这一行来自我后面的教程,看看第二个参数。来自另一种语言,< cellForRowAtIndexPath'出乎意料。该变量的目的是什么(就Swift语言而言,而不是iOS框架)&这个"额外变量"的概念是什么?这样叫我可以做进一步的个人研究吗?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

2 个答案:

答案 0 :(得分:2)

是的,如果您来自Java或C#,我猜基本上可以使用除Objective-C之外的任何其他语言:) 在Swift中,有一个外部和内部参数的概念。在您的示例中,cellForRowAtIndexPath是外部名称,可见'方法调用者和' indexPath'是在方法实现中使用的内部或本地名称。

答案 1 :(得分:0)

请参阅以下代码:

func someFunction(externalParameterName localParameterName: Int) {
    // function body goes here, and can use localParameterName
    // to refer to the argument value for that parameter
}

来自:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html(外部参数名称部分)

cellForRowAtIndexPath 是您在函数外部看到的名称,因此在调用它时

indexPath 是函数内部的名称,通常是较短的名称。

NSIndex 是类型