10

NSMutableURLRequest を使用して Web サイトに接続し、JSON 応答を取得しています。リクエストを生成し、NSURLConnection を self のデリゲートと共に使用して、非同期接続を処理します。通常のデリゲート メソッドをすべて実装しました。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection

データの取得、発生したエラーの処理など、すべてが完全に機能します。永遠にそこに座っているだけで、タイムアウトしたという通知はありません。

iPhone API ドキュメントを読んでも、タイムアウトが発生したときに何が起こるべきかについては言及されていません。タイムアウト値を設定できるというだけです。何が起こるべきですか?API に役立つデリゲート メソッドは他にありませんでした。タイムアウトを手動で確認する必要はありませんか? タイムアウトは同期リクエストのみですか?

4

5 に答える 5

12

タイムアウトは次のメソッドで受信されます。

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
于 2009-08-10T08:29:59.653 に答える
4

あなたはそのようなタイプのiofoを受け取ります:

で失敗しました

エラー: エラー Domain=NSURLErrorDomain Code=-1001 UserInfo=0xed4870 「タイムアウトしました」

于 2009-08-10T06:39:28.270 に答える
3

タイムアウトの動作は少し風変わりです。Apple の開発者フォーラムのこのスレッドを参照してください。

于 2010-06-04T07:22:34.467 に答える
1

各メソッドにいくつかのログステートメントを入れて、それらが何を与えるかを確認してください。タイムアウトになると、コンソールにタイムアウトに関する通知が表示されます。私はその通知を受け取っています。コードを確認して、まだ問題がある場合はお知らせください。

于 2009-08-10T04:51:31.840 に答える