【发布时间】:2017-05-05 14:30:09
【问题描述】:
我对 Swift 3 非常陌生,我必须在我的 API 上执行 GET 请求。我正在使用 Alamofire,它使用异步函数。
我在我的 Android 应用上做同样的事情,GET 返回 JSON 数据
这是我的 swift 代码:
func getValueJSON() -> JSON {
var res = JSON({})
let myGroup = DispatchGroup()
myGroup.enter()
Alamofire.request(url_).responseJSON { response in
res = response.result.value as! JSON
print("first result", res)
myGroup.leave()
}
myGroup.notify(queue: .main) {
print("Finished all requests.", res)
}
print("second result", res)
return res
}
但我对“res = response.result.value”行有疑问,这给了我错误:线程 1:信号 SIGABRT
我真的不明白问题出在哪里,很难做到“同步”功能,也许我做错了。
我的目标是将请求的结果存储在我返回的变量中。任何人都可以帮忙吗?
【问题讨论】:
标签: swift xcode multithreading http alamofire