私はちょうどNSURLConnectionで非同期的な要求がどのように正確に機能するかについて疑問に思っています。NSURLConnectionを使用してスレッドセーフを検討する必要がありますか? - iOS
たとえば、アプリケーションで複数のアップロードプロセスが実行されており、すべてNSURLConnectionの異なるインスタンスを使用して初期化されているとします。プロセスをアップロードすると、あなたのラッパーオブジェクトは次のように、と呼ばれるNSURLConnectionのデリゲートメソッドを取得:
-(void)connectionDidFinishLoading:(NSURLConnection*)connection;
をすべてNSURLConnectionのラッパーオブジェクトで、アレイ内のすべてのアクティブなアップロードのリストを持って、同じデリゲートオブジェクトを共有し、そのことを仮定connectionDidFinishLoadingがすべての接続に対して呼び出されると、共有デリゲートオブジェクトのそのリストから削除されます。
これらの接続オブジェクトが同じ配列にアクセスできる場合、スレッドの安全性について心配する必要がありますか?あるいは、これらのデリゲートメソッドはすべて、メインスレッドに戻って、スレッドセーフについて心配しないようにしますか?
Aaaaaaaah that's interesting :)私は、複数のビデオ/オーディオファイルを同時にサーバにアップロードすることができるアプリケーションを作っているということです。このためにNSURLConnectionの非同期メソッドを使用します。基本的に、スレッドキューイングAPIでは、基本的にバックグラウンドのNSURLConnectionスレッドからのすべての呼び出しが順次呼び出されるようにしていますか?開発者はスレッドセーフについて心配する必要はありませんか?私は方法として答えとしてこのポストをマークします:)ちょうど私が正しくそれを最初に理解することを確認したい。 – CodingBeagle
そうです。あなた自身も同様のことをやりたければ、おそらくGrand Central Dispatchを使いたいでしょう。ディスパッチキューを調べると、いくつかの例を見てすぐに使いやすいものになります。 – jackslash
ああ!グレート:)お返事ありがとう! – CodingBeagle