Schneller Verschluss mit Alamofire

Ich tätige API-Aufrufe an einen Server. Ich nutze Alamofire, um damit umzugehen. Ich versuche, eine Funktion zu erstellen, die die GET-Funktion von Alamofire verwendet, um ein Objekt zurückzugeben, das auf einer benutzerdefinierten Klasse basiert, die die verschiedenen Ausgaben dieser GET-Funktion enthält.

Mir ist nicht klar, wie ich das machen soll.

Hier ist meine benutzerdefinierte Klasse, die Details zur Antwort enthält:

import Foundation

class ResponsePackage {

    var success = false
    var response: AnyObject? = nil
    var error: NSError? = nil

}

In einer anderen Klasse habe ich folgende Funktion:

func get(apiEndPoint: NSString) -> ResponsePackage {

    let responsePackage = ResponsePackage()

        Alamofire
            .request(.GET, apiEndPoint)
            .responseJSON {(request, response, JSON, error) in
                responsePackage.response = JSON
                responsePackage.success = true
                responsePackage.error = error
        }

    return responsePackage

}

Dies kehrt zurücknil da der aufruf an den server vor dem nicht abgeschlossen istreturn wird ausgeführt. Ich weiß, dass ich dies mit Verschlüssen tun sollte, aber ich bin nicht sicher, wie ich das konstruieren soll.