Cómo establecer una función como argumento de función en Swift 3

Q: ¿Es posible pasar una función como argumento de función en Swift 3?

Para refactorizar mi código, quiero tener una función global. Al final de esta función, hay un botón personalizado que tiene unaction argumento.

let deleteButton = MIAlertController.Button(title: "cancel", 
                                            type: .cancel, 
                                            config: getDestructiveButtonConfig(),
                                            action: {
                                                print("completed")
                                            })

Lo que me gustaría hacer es algo así como configurar una función global con una función como argumento.

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
                                            })
}

Llamado porgetButton(..) con la función pasada dentro de la misma clase.

MyViewController.swift
...
getButton(myPrintFunc, "cancel")

func myPrintFunc() {
        print("completed")
}

¿Es posible algo así? La ayuda es muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta