Avatar ·

Wie man dispatch_sync, dispatch_async, dispatch_after und andere GCD-Funktionen in Swift 3, 4 und neuer richtig verwendet

Hallo zusammen! Ich wechsle von Objective-C zu Swift und bin nach der Veröffentlichung von Swift 3 mit Grand Central Dispatch (GCD) verwirrt. Früher habe ich so etwas geschrieben wie: ```swift dispatch_async(dispatch_get_main_queue(), { // UI-Update }) ``` Aber jetzt sagt Xcode, dass das falsch ist. Ich verstehe, dass Apple die API geändert hat, aber ich kann keine verständliche Erklärung finden, wie man GCD in Swift 3, 4 und neuer verwendet. Ich muss Folgendes verstehen: 1. Wie führe ich Code asynchron auf der main queue aus (für UI-Updates)? 2. Wie führe ich Code synchron (dispatch_sync) auf einer background queue aus? 3. Wie erzeuge ich eine Verzögerung vor der Ausführung (dispatch_after)? 4. Wie erstelle ich meine eigene queue? Ich habe versucht, es so zu schreiben, aber es funktioniert nicht: ```swift DispatchQueue.main.async { // Code } DispatchQueue.globa