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 finde keine verständliche Erklärung, wie man GCD in Swift 3, 4 und neuer verwendet. Ich muss Folgendes verstehen: 1. Wie führe ich Code asynchron auf der Haupt-Queue aus (für UI-Updates)? 2. Wie führe ich Code synchron (dispatch_sync) in einer Hintergrund-Queue aus? 3. Wie erstelle 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