0
我有一個功能,使HTTP請求與completionhandler和接收的JSON響應:如何保存爲CompletionHandler返回的值?
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'因爲請求將異步完成。你需要用關閉中的令牌*來完成你的工作。 – Paulw11