【发布时间】:2016-10-30 22:44:02
【问题描述】:
我有下一个函数,它使用完成处理程序发出 http 请求并接收 json 响应:
func makeRequest3(request: URLRequest, completion: @escaping (JSON!)->Void){
let task = URLSession.shared.dataTask(with: request){ data, response, error in
//Code
print(data as NSData)
let json = JSON(data: data)
completion(json)
}
task.resume()
}
我需要调用此函数,并找到“id_token”字段以将其保存在变量中。我是初学者,我正在尝试这段代码,但我有错误“类型'()'没有下标成员”
var response2 = makeRequest3(request: request) {response in //<-`response` is inferred as `String`, with the code above.
return(response)
}
var idtoken = response2["id_token"]
我该怎么做?我正在使用 swift3。
【问题讨论】:
-
您不能使用
return,因为请求将异步完成。您需要使用 inside 闭包中的令牌来完成您的工作。