Avatar ·

Wie man dispatch_after in Swift 3, 4 und 5 für verzögerte Ausführung verwendet

Hallo! Ich bin neu in Swift und versuche, alten Code von Objective-C zu portieren, wo ich dispatch_after für die verzögerte Ausführung verwendet habe. Früher schrieb ich so etwas wie: ```objective-c dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"2 Sekunden sind vergangen"); }); ``` Aber in Swift 3 und höher funktioniert das nicht. Ich habe versucht, so zu schreiben: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * Double(NSEC_PER_SEC))), DispatchQueue.main, { print("2 Sekunden sind vergangen") }) ``` Aber Xcode gibt einen Fehler aus: "Use of unresolved identifier 'dispatch_after'". Ich verstehe, dass GCD sich stark geändert hat, aber ich kann kein verständliches Beispiel für Swift 3/4/5 finden. Bitte erklären Sie mir, wie man eine Verzögerung von 2 Sekunden mit Ausführung auf dem Hauptthread richtig macht. Ich brauche ein einfaches funktionierendes Beispiel, das ich in meinen Code einfügen kann. Vielen Dank im Voraus! <<>>

Der richtige Weg für verzögerte Ausführung in Swift 3+

In Swift 3 AP