NSURLConnection 非同期モードの注意

NSURLConnection は、メインスレッド上で生成しないと、機能してくれない。

[2009.04.19 12:00 追記] Norio Nomura さんより、コメントにて、非同期モードには RunLoop が必要で、メインスレッドだと RunLoop がひとつ稼働しているために問題なく動作するという解説をいただきました。Norio Nomura さん、ありがとうございました。

2件のコメントがあります。

user-pic Norio Nomura URL

正確には「RunLoopが動いていないと機能しない」ですね。メインスレッド以外でも、自前でRunLoopを処理するコードを書いてやれば、NSURLConnectionの非同期モードは動きます。普通はメインスレッドのRunLoopはUIApplicationなどで既に動いているため、RunLoopを処理するコードを書かなくても、NSURLConnectionの非同期モードが動きます。

user-pic 沼田 URL

なるほど!

ありがとうございます。
ようやく仕組みと問題の本質を理解しました。

コメントを書く


トラックバックはありません。

トラックバックURL: http://numata.designed.jp/mt-tb.cgi/202