我最近来到了accros Swift,但有些事我不明白。我想实现一个带有单元格的tableView。我理解,但符号对我来说有点混乱。
我在UITableViewDataSource
中有这个功能func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
你能告诉我什么是numberOfRowsInSection ??它是参数部分的函数吗?我看到函数tableView的名称返回一个Int,参数tableView和section有自己的类型。但我真的不知道numberOfRowsInSection。
当调用此函数时?
感谢您的回答。
答案 0 :(得分:3)
差异是内部和外部参数标签。您可以使用两种不同的参数标签。在函数内部使用内部函数,调用函数时使用外部函数。
tableView(tableView: UITableView, numberOfRowsInSection section: Int)
/\ /\ /\
|| || ||
internal external internal
我们来看一个示例函数:
func test(str:String, thisIsATest str1:String){
println(str1)//works
println(thisIsATest)//error
}
如您所见,我打印str1
值。但是你会看到,它只适用于内部参数。
但是如果你现在从外面调用这个函数:
test("hi", str1:"hi2")
它会抛出错误。因为您使用internal
参数标签。
但是,如果您现在使用外部参数标签thisIsATest
,它可以工作:
test("hi", thisIsATest:"hi2")
此外,您根本不必设置外部标签,但如果设置外部标签,则还必须为其设置内部标签。但在某些情况下,您必须设置内部标签,例如init()
方法。
即使很容易提醒,我也为此做了一个小马:我将一个功能与公司进行比较:如果你在公司工作,而你想打电话给那些也在公司工作的人,你会使用内部电话号码。但是,如果您想将公司服务用作客户(功能的用户),则可以使用外部号码进行呼叫。