我試圖使用的方法以外的一些JSON響應,但返回時,執行方法空數組,但隨着預期的數據塊的作品裏面,有沒有什麼辦法我的方法將返回預期值,這是我的示例代碼:如何使用DispatchSemaphore與Alamofire和SwiftyJSON?
func getCarouselContent(url: String) -> [String] {
var ids: [String] = []
let headers = ["api_key": "My_API_KEY"]
let semaphore = DispatchSemaphore(value: 0)
Alamofire.request(url, headers: headers).validate().responseJSON {
(response) in
semaphore.signal()
switch response.result {
case .success(let value):
let json = JSON(value)
let data = json["data"]["relationships"]["slides"]["data"]
for child in data.array! {
let id = child["id"].string!
print(id) // this prints all the id
ids.append(id)
}
case .failure(let error):
print(error)
}
}
semaphore.wait()
return ids
}
我使用alamofire和swiftyjson來解析json。僅供參考我是這個新手,嘗試了類似問題的答案,但沒有奏效,任何建議都非常感謝,謝謝。
大,它的工作原理。非常感謝 –