我试图使用的方法以外的一些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。仅供参考我是这个新手,尝试了类似问题的答案,但没有奏效,任何建议都非常感谢,谢谢。
大,它的工作原理。非常感谢 –