1
私はSwiftでurlリクエストを作成していますが、レスポンスコードを含む意味のあるエラーを出力したいと考えています。私は可能な限り数行のコードでこれをやろうとしています。私がXcodeで得ているエラーは、次のとおりです:Variable declared in 'guard' condition not usable in its body
。本文のガード条件を使用する
コードをより多くの行に拡張することなく、以下を実行するにはどうすればいいですか?
//check to see if we got a valid response code
guard let resCode = (response as? NSHTTPURLResponse)?.statusCode where resCode == 200 else {
return NSError(domain: "Error with request", code: 1, userInfo: [NSLocalizedDescriptionKey: "Recieved the following status code: \(resCode)"])
}
エラーは私がガード文の本体内の変数resCode
を使用しようとすると発生します。
varの代わりに '(NSHTTPURLResponse)?statusCode'を使用するだけです。 –
' response'の隣に 'error'パラメータがあると、' response'はエラーがなければ 'nil'になりそうです返され、HTTPリクエストを送信した場合、そのレスポンスはHTTPレスポンスである可能性が最も高くなります。 – vadian