2016-09-16 63 views
-1

我剛剛用最後一個Xcode版本打開了一個swift 2項目。 Xcode的建議我的汽車我的代碼轉換爲SWIFT 3swift 3中這個新的「in」關鍵字是什麼

下面是一些奇怪的事情:

func numberOfSections(in tableView: UITableView) -> Int 
{ 
    return 1 
} 


func tableView(_ tableView: MyTableView, numberOfRowsInSection section: Int) -> Int 
{ 
    return 10 
} 

如果你看看,Xcode中增加了一個「在」關鍵字的numberOfSections方法。但他沒有爲numberOfRowsInSection方法做任何事情。 我不明白爲什麼。

Swift 3中的這個「in」關鍵字是什麼?

回答

0

這不是關鍵字。這是方法中第一個參數的名稱。

在Swift2方法是......

func numberOfSections(inTableView: UITableView) -> Int 

...它會被稱爲像...

numberOfSections(tableView) 

在斯威夫特3有很多講求製作功能命名更多基於動詞並從方法名稱中刪除多餘的推斷或隱含類型。此外,方法的第一個參數名稱現在是必需的。

所有這些變化導致名稱被更新到你所看見的,呼叫變成...

numberOfSections(in: tableView) 

你可以閱讀更多關於Apple's API Guidelines的變化斯威夫特3。

+0

有沒有:(雙點) – Bob5421

+0

@ Bob5421你是什麼意思,沒有雙點?如果你想運行它,那就是你的方法。這就是你如何調用任何Swift方法。 – Fogmeister