Cómo devolver valor de Alamofire

Estoy haciendo llamadas de URL a través de una API que creé usando swift de la siguiente manera:

class API {

  let apiEndPoint = "endpoint"
  let apiUrl:String!
  let consumerKey:String!
  let consumerSecret:String!

  var returnData = [:]

  init(){
    self.apiUrl = "https://myurl.com/"
    self.consumerKey = "my consumer key"
    self.consumerSecret = "my consumer secret"
  }

  func getOrders() -> NSDictionary{
    return makeCall("orders")
  }

  func makeCall(section:String) -> NSDictionary{

    let params = ["consumer_key":"key", "consumer_secret":"secret"]

    Alamofire.request(.GET, "\(self.apiUrl)/\(self.apiEndPoint + section)", parameters: params)
        .authenticate(user: self.consumerKey, password: self.consumerSecret)
        .responseJSON { (request, response, data, error) -> Void in
            println("error \(request)")
            self.returnData = data! as NSDictionary
    }
    return self.returnData
  }

}

Yo llamo a esta API en miUITableViewController para llenar la tabla con la biblioteca SwiftyJSON. Sin embargo mireturnData desde la API siempre está vacío. No hay ningún problema con las llamadas de Alomofire, ya que puedo recuperar el valor con éxito. Mi problema es cómo se supone que debo llevar estodata a mi controlador de vista de tabla?

var api = API()
api.getOrders()
println(api.returnData) // returnData is empty