So setzen Sie eine Funktion als Funktionsargument in Swift 3
Q: Kann man in Swift 3 eine Funktion als Funktionsargument übergeben?
Um meinen Code umzugestalten, möchte ich eine globale Funktion haben. Am Ende dieser Funktion befindet sich eine benutzerdefinierte Schaltfläche mit einemaction
Streit
let deleteButton = MIAlertController.Button(title: "cancel",
type: .cancel,
config: getDestructiveButtonConfig(),
action: {
print("completed")
})
Was ich tun möchte, ist so etwas wie das Einrichten einer globalen Funktion mit einer Funktion als Argument.
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
})
}
Angerufen vongetButton(..)
mit der übergebenen Funktion innerhalb derselben Klasse.
MyViewController.swift
...
getButton(myPrintFunc, "cancel")
func myPrintFunc() {
print("completed")
}
Ist so etwas möglich? Hilfe wird sehr geschätzt.