![](/img/trans.png)
[英]How to define function that uses class type as a parameter in Swift?
[英]How to define a function with a function type parameter in Swift
我可以定義一個這樣的功能
func doWithAction(action: ()-> void) {
// something
}
但是,當我使用該功能時,Xcode的自動完成功能使我無法使用
self.addPullToRefreshControllerWithAction { () -> void in
}
我知道閉包和函數在Swift中是相同的,但是我想帶領使用此函數的人傳入一個函數,而不是一個塊。 我這樣做的原因是我希望此函數的行為類似於選擇器和委托
是的,閉包和函數實際上在swift上是相同的,因此,如果函數期望閉包,則可以傳遞具有與參數相同簽名的函數。 像這樣
func iAmAFunc(() -> Void) -> Void {
//do stuff
}
func funcThatTakesVoidAndReturnsVoid() -> Void {
//do stuff
}
var closureThatTakesVoidAndReturnsVoid: () -> Void = { }
iAmAFunc(funcThatTakesVoidAndReturnsVoid)
iAmAFunc(closureThatTakesVoidAndReturnsVoid)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.