2011-08-05 29 views
0

NSURLConnectionを使用してサーバーからデータをロードしています。だから、私のiPhoneアプリケーションでは、このボタンをクリックすると、インターネット接続が接続されているボタンがあった、データが正常に読み込まれます。しかし、後でMacでインターネット接続をオフにしてから、そのボタンをもう一度クリックすると、didFailWithErrorメソッドが呼び出されませんでしたが、didReceiveResponse、connectionDidFinishLoadingなどの他のメソッドが呼び出されました。NSURLConnection - didFailWithErrorが呼び出されない

誰でもこの種の問題が発生しましたか?または誰もがこの問題の理由を知っていますか?

ご意見、ご提案、および解決に感謝します。ありがとう。

+0

接続のどのような応答を受け取りましたか? – zoul

+0

UR接続が利用できないことを確認してください。ネットワークを無効にした後でブラウザをチェックする – visakh7

答えて

0

特にインターネットをオフにしたために奇妙な動作が発生しましたが、依然として** connectionDidFinishLoading **が呼び出されました**これはどのように可能ですか?あなたはこのボタンをクリックすると ""と書いたとインターネット接続は "あなたのコードはまだインターネットなしで接続を開始しましたか?

キャッシュされたデータを使用して設定したものと、このような奇妙な動作が発生した可能性があります。

* nixシステムではデフォルトでBSDソケットに接続するためのタイムアウトがあり、接続が紛失したことについては何も教えてくれないかもしれません。しかし、私はMac OS/iOSがこのような場合に設定されていると思います。

+0

こんにちは、このボタンをクリックするとインターネット接続が接続されているとは、ユーザーがそのボタンをクリックしてインターネットが接続されているときにデータがロードされることを意味しますサーバ。 "* nixシステムでは、デフォルトではBSDソケットの接続にタイムアウトがありますが、何も接続が見逃されているかどうかは分かりませんが、Mac OS/iOSはこのような場合に設定されています。これについてもっと説明できますか?では、この問題の解決策や提案はありますか? – Kate

+0

私は、最後のデータが受信されたときの情報を保持するflagを調べるuse timerを提案するかもしれません。タイムアウトした場合、接続を終了してエラーを通知するよりも時間がかかります。 –

+0

本当にありがとう!やってみます。 :-D – Kate

1

コード内の行を変更する前に、4.3シミュレータで同じテストを行い、次に5.0を試してください。

私は同様のものを試しました(URLへのリクエストと接続は応答なしで閉じています)。4.3を使用すると、didFailWithErrorが呼び出されます。 5.0では、didReceiveResponseにステータスコード200 OK (!)、次にconnectionDidFinishLoadingと表示されます。同じコード、同じ要求、別のOSバージョン...

関連する問題