0
定義一個函數類型參數的功能,我可以這樣定義如何斯威夫特
func doWithAction(action:()-> void) {
// something
}
但是一個功能,當我使用的功能,Xcode中的自動完成給我塊/關閉
self.addPullToRefreshControllerWithAction {() -> void in
}
我知道閉包和函數在Swift中是一樣的,但我想領導使用這個函數的人傳遞函數,而不是塊。我這樣做的原因是我希望這個函數的行爲像一個選擇器和一個委託
這就像說你想要你的函數接受整數,而不是整數變量。你無法做到這一點。函數是閉包,匿名閉包是閉包。你想接受封閉。從接收者的角度來看,他們都不會說哪種類型的。 – Amadan 2014-12-04 08:30:25
關閉是塊的現代名稱,關閉是功能,正如@kap在他的回答中指出的那樣。你被混淆了句法快捷方式,它允許你將一個尾隨閉包傳遞給一個閉包作爲其最後一個參數的函數。即。 foo(f:{})與foo(){}相同。卡普的答案是正確的,應該標記爲這樣。 – 2015-01-13 18:15:33