そんなときは次のNSURLConnectionのクラスメソッドを実装すればよい。
+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler
iOS5でもかつてのNSURLConnectionデリゲートメソッド(現在はNSURLConnectionData protocolのものか)によって非同期通信が実現できないわけではないらしいが、マルチスレッドでアプリを動かす場合には注意が必要とのこと。いずれにしても今後はsendAsynchronousRequestを利用した方がベターということであろうか。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
iOS4.3以前であれば、次のようなライブラリがあり、かつてはよく使用されていたと思われる。
AsyncImageView
UIImageViewを継承したクラスライブラリ。
非同期通信で画像をロードし、UIが固まるのを防いでくれる。
ASIHTTPRequest
CFNetwork APIのラッパーで非同期通信をラクにするライブラリ。
0 件のコメント:
コメントを投稿