如何從阿拉莫火中返回價(jià)值我正在通過一個(gè)API調(diào)用url,該API是我使用Swive創(chuàng)建的,如下所示: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 }}我在我的UITableViewController使用SwiftyJSON庫(kù)填充表。但是我的returnData從API始終是空的。AlomoFire調(diào)用沒有問題,因?yàn)槲铱梢猿晒Φ貦z索值。我的問題是我應(yīng)該如何攜帶這個(gè)data轉(zhuǎn)到我的桌景控制器?var api = API()api.getOrders()println(api.returnData) // returnData is empty
3 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
AlamoFire中的網(wǎng)絡(luò)是異步完成的。對(duì)于不熟悉異步編程概念的程序員來(lái)說,異步編程可能會(huì)讓他們感到沮喪,但是這樣做是有很好的理由的。
而不是阻止執(zhí)行以等待來(lái)自服務(wù)器的響應(yīng),而是指定一個(gè)回調(diào)來(lái)處理接收到的響應(yīng)。 請(qǐng)求的結(jié)果僅在響應(yīng)處理程序的作用域中可用。任何取決于從服務(wù)器接收的響應(yīng)或數(shù)據(jù)的執(zhí)行都必須在處理程序中完成。.
- 3 回答
- 0 關(guān)注
- 442 瀏覽
添加回答
舉報(bào)
0/150
提交
取消