0

NSURLConnection を拡張するクラス MyConnection を作成しました。いくつかのデリゲート メソッドを実装しました。URL 呼び出しから受信したデータを印刷できます。ただし、MyConnection インスタンスを MyHelper クラスに渡すと、MyConnection クラスで受信したデータを取得できません。2 つのタスクの間にスリープ コールを入れてみましたが、まだ運がありません。connectionDidFinishLoading デリゲート メソッドは、現在のコード ブロックが終了した後にのみ呼び出されます。通知を受けずにこの問題を処理する方法はありますか?

MyConnection *con = [[MyConnection alloc] init];    
[con fetchDataFromServer];
//sleep call here
MyHelper *myHelper = [[MyHelper alloc ] initWithConnection:con];
[myHelper processDataFoundInConnection];
4

1 に答える 1

2

これは、NSURLConnection(デフォルトでは)現在の実行ループで非同期に処理されるためです ( 2 次スレッドを使用しないという点で非同期ではありません)。したがって、ランループを手動でスピンするか、sendSynchronousRequest:...メソッドを使用できます。

于 2010-05-27T21:48:59.037 に答える