Как вернуть значение из Alamofire
Я делаю URL-вызовы через API, который я создал, используя swift, следующим образом:
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
}
}
Я называю это API в моемUITableViewController
заполнить таблицу библиотекой SwiftyJSON. Однако мойreturnData
из API всегда пусто. Нет проблем с вызовами Alomofire, так как я могу успешно получить значение. Моя проблема в том, как я должен это нестиdata
к моему контроллеру представления таблицы?
var api = API()
api.getOrders()
println(api.returnData) // returnData is empty