私の疑似質問は申し訳ありませんが、Swift開発の新機能です。 1(Xcodeの2.2.1で)私のプロジェクトが正常に構築されていますが、それを実行している間、私は次のコードで(LET要求ライン上で)エラーを取得しています:Swift 2.2:致命的なエラーが発生しました:オプションの値をアンラップしている間に無意識に見つかりました
// Send HTTP GET Request
let request = NSURLRequest(URL: NSURL(string: "http://11.22.33.44:8080/MySRV/login?email=\(emailField.text)&password=\(pwdField.text)")!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{
(response: NSURLResponse?, data: NSData?, error: NSError?)-> Void in
print("response \(response?.description)")
エラーは次のとおりです。
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) fatal error: unexpectedly found nil while unwrapping an Optional value
私のレットリクエストはゼロであるとは思いますが、解決方法はわかりません。
ありがとうございました。
:
あなたのような何かを行うことができます。まず何が無かったのか、それは要求ですか?もしそうなら、なぜそれがゼロかもしれません。 emailField.textがnilである可能性がありますか?もしそうなら、なぜそれが無限になるかもしれません。あるいは、pwdField.textがnilなので、もしそうなら、どうすればnilになるのでしょうか?どこが設定されていますか?なぜそれは価値を持っているのではないかというように。これらはあなた自身に尋ねることができ、あなたが試みるならあなた自身に答えることができるすべての質問です。それはデバッグです。 – Gruntcakes
3つの無関係な観察:1. 'NSURLConnection'は廃止予定ですので、' NSURLSession'(またはSwift 3、 'URLSession')を使うべきです。 2. URLにパスワードを含めないでください。あなたは 'POST'リクエストを構築し、2つのパラメータをリクエストの本体に含めるべきです。あなたの最終的なサーバがHTTPSを使用すると仮定していますが、古いプロキシサーバがそれを取得する可能性があるため、機密情報をURLに入れないことをお勧めします。 3.電子メールアドレスとパスワードをエスケープするパーセント値でなければなりません。予約文字(特に '+'や '&')が含まれていると、これは失敗します。 – Rob
ありがとうRob、NSURLSessionを使用します。私はあなたに言ったように、私は迅速な初心者ですので、アドバイスは歓迎以上です – tiamat