は、SWIFT 3.0に次の行を変換するために私を助けてください:キューとスウィフト3問題
dispatch_async(DispatchQueue.global(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0))
そして、それは正確に何を意味するのでしょうか?何かが好きです:メインキューの角括弧内のコードを実行しますか?
ありがとうございます。
ps。このコード行は、スウィフト3では
は、SWIFT 3.0に次の行を変換するために私を助けてください:キューとスウィフト3問題
dispatch_async(DispatchQueue.global(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0))
そして、それは正確に何を意味するのでしょうか?何かが好きです:メインキューの角括弧内のコードを実行しますか?
ありがとうございます。
ps。このコード行は、スウィフト3では
は、あなたはそれがすべてのブラケットの間に書かれたコードはバックグラウンドで実行されます何を意味し、この
DispatchQueue.global(qos: .background).async {
}
のように書くことができますコアデータで動作するようにapple's codeから取られました。このバックグラウンドスレッドに変更を加えたい場合は、メインスレッドに切り替える必要があります。以下のブロックを記述してください。
dispatch_async(dispatch_get_main_queue()) {
// Your code for UI Changes.
}
EDIT:グランドセントラル派遣(GDC)のパターンの中で最も一般的なタスクのスウィフト3
DispatchQueue.main.async {
}
一つのグローバルなバックグラウンドキュー上で作業を行い、できるだけ早くメインキュー上のUIを更新しています新しいAPIは次のようになります。
DispatchQueue.global(attributes: [.qosDefault]).async {
// Background thread
DispatchQueue.main.async(execute: {
// UI Updates
})
}
キューはinitで属性を使用するようになりました。これはSwiftオプションセットであり、シリアルvs並行メモリ、アクティビティ管理オプション、サービス品質(.default、.userInteractive、.userInitiated、.utility、.background)などのキューオプションを含めることができます。
新しい変更:
あなたが詳細を知りたい場合、これは良い話ですhttps://developer.apple.com/videos/play/wwdc2016/720/
助けてくれてありがとう! –
'DispatchQueue.main.async {}'または 'DispatchQueue.main.sync {}'。メインキューの場合。 – Zico
'dispatch_async(DispatchQueue.global(DISPATCH_QUEUE_PRIORITY_BACKGROUND、0))' '0 'はどうですか?どのように私は0を設定することができます –