0
私はcompletionhandlerでHTTPリクエストを行い、次の機能を持っており、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