複数の画像をフェッチするためにAppleがGCDではなくrunloopの使用を推奨するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/3445561

質問

iOS4.0のGrandCentral Dispatchを介して画像(各1ブロック)をロードすることをお勧めしますか?(UITableViewで使用するため)

WWDCビデオセッション207および208に示されているように、Appleがランループを好むのはなぜですか?

役に立ちましたか?

解決

これらのビデオで指摘されているのは、Foundationネットワーキングは現在Grand Central Dispatchとうまく統合されていないため、Foundationベースのネットワーキングを行う場合は、従来のスレッドの問題を回避するための最善の策はランループです。ただし、セッション206-「iPhoneでのブロックとグランドセントラルディスパッチの紹介」では、この目的のためだけにGCDを使用する方法の例が示されていることがわかります。

私は、コードの優雅さと(それらのビデオで述べられているように)それが未来の道であるため、GCDを好みます。

他のヒント

これらのビデオはまだ見ていませんが、Chris Hanson(Apple Engineer)のコメントです。GCDとNSOperation

常に最高レベルを使用する あなたが利用できる抽象化、そしてドロップ 下位レベルの抽象化に至るまで 測定はそれらが 必要です。

つまり、GCDを使用する正当かつ必要な理由がない限り、NSOperationsを使用して非同期処理(テーブルビューの画像の読み込みなど)を実行する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top