理解像tableView这样的函数中的Swift参数表示法
我最近来了accros Swift,但有一些我不明白。 我想实现一个tableView与细胞。 我知道,但是这个符号对我来说有点困惑。
我有这个函数从UITableViewDataSource
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 5 }
你能告诉我什么是numberOfRowsInSection? 这是他的参数部分的function吗? 我看到函数tableView的名称返回一个Int,参数tableView和部分与自己的types。 但我真的不知道numberOfRowsInSection。
而当这个函数被调用?
感谢您的回答。
不同之处在于内部和外部的参数标签。 您可以使用两种不同types的参数标签。 在函数本身内部使用内部函数,在调用函数时使用外部函数。
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()
方法中,你必须在某些情况下设置内部标签。
即使很容易提醒,我也为自己做了一个小马:我将一个function与一家公司比较:如果你在公司工作,而且你想打电话给在公司工作的人,你可以使用内部电话数。 但是,如果您想将公司服务用作客户(function的用户),则可以从外部号码拨打电话。