Paul HegartyコースのiOS 5チュートリアルに続いて、このコードはGCDの使用方法を示すアプリでご覧になれます。どうやらGCDは、マルチスレッド化に関係する問題が、まだオブジェクトがまだ必要であるかどうか予測できないため、リリースを必要とします。iOS 6.0のARCでGCDキューを解放する必要がありますか?
dispatch_async(dowloadQueue, ^{
....
// do some stuff
....
});
dispatch_release(dowloadQueue);
私はiOSの6とXcode 4.5にアップグレードしたと私は を得る "ARCは、明示的な解放を禁止..." 私はiOS5を/ XCodeの下にこのコードをしようとしなかった
メッセージ4.2
これは、ARCがもっと巧みになり、GCDでのリリースがもう必要ないからですか? 私はちょうど誤解しましたか?
キューを作成するときにObjective-Cに__bridge_transferする必要がありますか? – openfrog
@openfrog - いいえ、それがObjective-Cオブジェクトとして扱われている場合は、すでにARCによって処理されているので、それを転送する必要はありません。 –
@BradLarsonこれをオフに切り替える方法はありますか?または、iOS 5とiOS 6の両方でコンパイルするにはどうすればいいですか? – fishinear