2

を作成してNSURLConnectionいますが、無効な URL (http://thiswontwork.com/asdf) を使用しています。メイン スレッドで呼び出しており、すべてのデリゲート メソッドをデリゲートに実装しています。

接続がハングし、デリゲート メソッドを呼び出すことはありません。呼び出されることを期待connection:didFailWithError:していました。呼び出される唯一のデリゲート メソッドは

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse

誰かがこのようなものに出くわしましたか?

デバイスのデバッガーとシミュレーター (xCode4 の iOS5) で発生します。

実演するための単一のボタンの例を含む簡単なView Controllerを作成しました。必要に応じてコードを投稿できます。

要求にタイムアウト間隔が設定されています (30 秒まで)。

4

1 に答える 1

1

nilを返すと、接続は終了します。私は現在ドキュメントの前にいませんが、NSURLRequest渡された関数を返すのが標準的な方法だと思います。何かのようなもの:

-(NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response{
    return request;
}

編集

ドキュメントを見た後、私はあなたが何を意味するのかわかります。ドキュメントは、nilを返した場合に何が起こるかについて非常に誤解を招きます。nilを返すと接続は継続すると表示されますが、これはnilでない場合のみであると思いますresponse。私が書いた小さなダウンロードマネージャープロジェクトでnilを返すことをテストしましたが、接続が完全に停止したようです。

これは、バグまたは不十分なドキュメントのインスタンスのいずれかであるように思われます。

于 2012-04-04T04:50:11.023 に答える