Como retornar valor da Alamofire

Estou fazendo chamadas de URL por meio de uma API que criei usando o swift da seguinte maneira:

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
  }

}

Eu chamo essa API na minhaUITableViewController para preencher a tabela com a biblioteca SwiftyJSON. No entanto meureturnData da API está sempre vazio. Não há nenhum problema com as chamadas da Alomofire, pois posso recuperar o valor com êxito. Meu problema é como devo carregar issodata para o meu controlador de exibição de tabela?

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