質問

私は、JSONレスポンスを取得するには、Webサイトに接続するためにNSMutableURLRequestを使用しています。私は、要求を生成することによって、そうした後、非同期接続を処理するために、自己の代理人とNSURLConnectionを使用しています。私はすべての通常のデリゲートメソッドを実装しました。

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

すべてのNSURLRequestのタイムアウトとただしなど、発生したエラーに対処する、バックデータを取得して完璧に動作を10秒に設定し、私はそれらのメソッドで呼び出され得るように見えることはありません(私はdidFailWithErrorが呼び出されると予想)。それだけで永遠にそこに座っていると私はそれがタイムアウト通知はありません。

私はを何の一切の言及が表示されないiPhoneのAPIドキュメントを読んでタイムアウトが発生したときには、タイムアウト値を設定できるだけのことを、起こるはず。何が起こるのでしょうか?私は役立つだろうAPIの他のデリゲートメソッドを見ていません。私は手動でタイムアウトを確認する必要はありません、私のですか?唯一の同期要求のタイムアウトはありますか?

役に立ちましたか?

解決

あなたのタイムアウトがこの方法で受信されます:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

他のヒント

Uはiofoのようなタイプを受信するであろうBR

で失敗しました
  

エラー:エラードメイン= NSURLErrorDomainコード= -1001のUserInfo = 0xed4870   

"タイムアウトしました"

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

私がやったことは、このました

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
    if (error.code == -1001){
        [self showTimeoutAlert];//My method to show dialog with timeout message.
    } else {
        [self showInvalidURLAlert];//My method to show dialog with bad URL message.
    }
}

-1001がタイムアウトになる前に言ったように、他のテストで私が得た-1003。(悪いURLまたは接続なしのavaliable用)

私は私が悪いURLを扱わない何かので、タイムアウトを処理するために目指していた。

それぞれの方法では、いくつかのログ・ステートメントを入れて、彼らが与えるかどうか確認。たびにそれをタイムアウトする、あなたは間違いなく、タイムアウト程度コンソール上の通知を受け取ります。私は、その通知を取得しています。あなたのコードをチェックして、あなたはまだ問題を抱えている場合は、私たちに知らせます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top