Einer der häufigsten Aufgabe in Grand Central Dispatch (GDC) Muster wird die Arbeit an einem globalen Hintergrund Warteschlange durchgeführt und die Benutzeroberfläche auf der Haupt-Warteschlange aktualisieren, sobald wie die Arbeit erledigt ist. Die neue API sieht so aus:
DispatchQueue.global(attributes: [.qosDefault]).async {
// Background thread
DispatchQueue.main.async(execute: {
// UI Updates
})
}
Warteschlangen nehmen jetzt Attribute auf init. Dies ist ein Swift-optionSet und kann Warteschlangenoptionen wie seriell vs. gleichzeitig, Speicher- und Aktivitätsmanagementoption und die Dienstgüte (.default, .userInteractive, .userInitiated, .utility und .background) enthalten.
Neue Änderungen:
- DISPATCH_QUEUE_PRIORITY_HIGH: -> .userInitiated
- DISPATCH_QUEUE_PRIORITY_DEFAULT: -> .default
- DISPATCH_QUEUE_PRIORITY_LOW: -> .utility
- DISPATCH_QUEUE_PRIORITY_BACKGROUND: -> .background
Wenn Sie mehr erfahren möchten, ist dies ein gutes Gespräch https://developer.apple.com/videos/play/wwdc2016/720/
'DispatchQueue.main.async {}' oder 'DispatchQueue.main.sync {}'. Für die Hauptwarteschlange. – Zico
'dispatch_async (DispatchQueue.global (DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0))' Was ist mit '0'? Wie kann ich '0' setzen –