iPhone SDK4.0になり、マルチスレッド関連にもかなりの変更が加えられました。その一つの影響として、NSOperationの仕様も変わっています。 何も考えずにisConcurrentをYESにして組んでいたアプリはiOS4では動かなくなる可能性があります。 最も影響を受けるのは、NSURLConnectionによるHTTPリクエストをNSOperationを使っていた場合でしょう。NSURLConnectionをマルチスレッドで使うには、かなり丁寧に実装してあげないと動かなくなります。 手っ取り早いのはNSOperationQueueの生成を以下のように明示的にメインスレッドの呼び出しに変更することです。 // alloc,initは、iPhone3.xでisConcurrent=NOの時、およびiOS4では別スレッドで起動される // iPhone3.xでisConcurren
![『iOS4にしたらNSOperationが動かなくなったときの解決法』](https://cdn-ak-scissors.b.st-hatena.com/image/square/cc0247d2b1a29a71b2a67aca8aa4b2f32269ac02/height=288;version=1;width=512/https%3A%2F%2Fstat.profile.ameba.jp%2Fprofile_images%2F20140603%2F00%2Ff4%2Fzm%2Fj%2Fo032003201401721935051.jpg)