NSURLConnectionのデリゲートメソッドを持つサーバークラスがあります。 NSMutableURLRequestをサーバークラスに送信するSendRequestという別のクラスがあります。 は、サーバ・クラスでは、私はNSURLConnectionデリゲートメソッドが呼び出されない
- (void)executeAsync:(NSMutableURLRequest)urlRequest timeOutInterval:(int)timeOut
{
_urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];];
}
- (void)executeSync:(NSMutableURLRequest)urlRequest
{
NSData* respData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
}
すべてはここまで正常に動作と呼ばれる2つのメソッドを持っています、私は、デリゲートメソッドを呼び出しているのsendRequestクラスから上記executeAsyncメソッドを呼び出すことができています。
今、私はSendRequestクラスにServerクラスのexecuteRequestメソッドを呼び出す新しいメソッドを追加しました。
- (void)executeRequest:(NSMutableURLRequest)urlRequest
{
_urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];];
}
今回はトラップされました。 executeRequestメソッドが呼び出されていますが、URL要求の処理中にデリゲートメソッドを呼び出すことはありません。私は何時間もここに打たれています。
すべてが正しいようですが、前に送信していたのと同じ方法でurlRequestを送信しています。しかし、私はなぜそれが動作していないのか分からない。お気軽にコメントしてください。でも助けてください。私は本当に心配しています
EDIT:
私は、サーバーへのリクエストを投稿し、応答を取得する必要があります。同期で試してもうまくいきますが、メインスレッドをブロックしています。それは私が非同期に行く理由です。デリゲートメソッドを使用して、私は応答データを取得しようとしています。
を次のコードを実行し、その後、あなたの.hにNSURLConnectionDelegate
をを設定し、[スタート_urlConnection]。あなたはどこかでそれをやっていると思いますか? – SteveB
私は自分の質問を編集しました。それを確認してください – Perseus
彼はstartImmediatelyオプションを使用しています。 –