1. ホーム
  2. ios

[解決済み] Swift 3でディスパッチキューを作成する方法

2022-03-23 21:59:46

質問

Swift 2では、以下のコードでキューを作成することができました。

let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT)

しかし、これはSwift 3ではコンパイルできません。

Swift 3でこれを書くには、どのような方法が望ましいですか?

どのように解決するのですか?

並列キューを作成する

let concurrentQueue = DispatchQueue(label: "queuename", attributes: .concurrent)
concurrentQueue.sync {

}  

シリアルキューを作成する

let serialQueue = DispatchQueue(label: "queuename")
serialQueue.sync { 

}

メインキューを非同期で取得する

DispatchQueue.main.async {

}

メインキューを同期的に取得する

DispatchQueue.main.sync {

}

バックグラウンドスレッドの一つを取得する

DispatchQueue.global(qos: .background).async {

}

Xcode 8.2 beta 2です。

バックグラウンドスレッドの1つを取得する

DispatchQueue.global(qos: .default).async {

}

DispatchQueue.global().async {
    // qos' default value is ´DispatchQoS.QoSClass.default`
}

これらのキューの使い方を学びたい方は、こちらをご覧ください。 回答