Q:是否可以在Swift 3中將函數作爲函數參數傳遞?如何在Swift 3中將函數設置爲函數參數
爲了重構我的代碼,我想要一個全局函數。在這個函數結束時,有一個自定義按鈕,它有一個action
參數。
let deleteButton = MIAlertController.Button(title: "cancel",
type: .cancel,
config: getDestructiveButtonConfig(),
action: {
print("completed")
})
我想要做的就是,用一個函數作爲參數設置一個全局函數。
MyGlobalStuff.swift
...
func getButton(_ myFunc: func, _ title: String) {
let deleteButton = MIAlertController.Button(title: title,
type: .cancel,
config: getDestructiveButtonConfig(),
action: {
myFunc // call here the function pass by argument
})
}
通過getButton(..)
調用,並在同一個類中傳遞函數。
MyViewController.swift
...
getButton(myPrintFunc, "cancel")
func myPrintFunc() {
print("completed")
}
是這樣的可能嗎?非常感謝幫助。
你在找這個? '函數類型作爲參數類型'在https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html – Santosh
@Santosh你的鏈接不包括我的問題。我不在尋找關閉或返回值 –
好。實際上我需要一個關閉......我發誓,我已經嘗試過。不工作。答案後再次嘗試,工作......我的壞。謝謝你或你的時間 –