複数の画像をフェッチするためにAppleがGCDではなくrunloopの使用を推奨するのはなぜですか?
-
27-09-2019 - |
質問
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を使用して非同期処理(テーブルビューの画像の読み込みなど)を実行する必要があります。
所属していません StackOverflow