0
func queryProducts() -> Array<String> {
var final = [String]()
var temp = [String]()
self.oauthswift.client.get("http://api.v3.factual.com/t/products-cpg?q=coke",
success: {
(data, response) in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let json = JSON(data: data)
if json["status"].stringValue == "ok" {
// we're OK to parse!
for result in json["response"]["data"].arrayValue {
final.append(result["product_name"].stringValue)
}
}
temp = final
}
, failure: { error in
print(error)
})
return temp
}
嘿大家,新的迅速,我一直在試圖從這個成功處理程序捕獲值,但它似乎沒有什麼工作。在閉包內部,我可以打印我想要的數組。OAuthSwift結束捕獲值不工作
最後,我試圖返回數組最後的所有產品名稱追加。
應該回報: [「可樂飲食Plus」,「Zero-Sixer」,「可樂飲食甜加Splenda」,「可樂飲食」,「可樂飲食」,「可樂飲食櫻桃」,「檸檬「,」可樂飲食雙包裝「,」可樂香草「,」可樂飲食香草「,」可樂飲食「,」可樂飲食與檸檬「,」可樂飲食咖啡因免費「,」可樂飲食與檸檬「可口可樂」,‘可口可樂飲食不含咖啡因’,‘可口可樂飲食以石灰’,‘噴泉糖漿飲食’,‘可樂瘦身男女’,‘可口可樂飲食檸檬’]
什麼返回: []
任何建議都會很棒!
你必須認識到:在另一個線程的封閉運行。所以'return temp'這一行將在'closure'中的代碼運行之前運行。所以,請看下面的'anhtu'的答案,並以這種方式使用。我只是解釋爲什麼我們必須這樣做。 – t4nhpt