Avatar ·

Wie erstelle ich eine Verzögerung (delay) in Swift 3? Ich verwende DispatchQueue, aber der Code funktioniert nicht

Hallo zusammen! Ich wechsle zu Swift 3 und versuche, eine einfache Verzögerung vor der Ausführung von Code zu implementieren. Früher in Swift 2 habe ich dispatch_after verwendet, aber jetzt ist diese Methode veraltet. Ich habe gesehen, dass man DispatchQueue verwenden soll, aber ich bekomme es nicht hin. Hier ist mein Code: ```swift DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { print("2 Sekunden sind vergangen") } ``` Der Compiler gibt einen Fehler aus: "Cannot convert value of type '()' to expected argument type 'DispatchTime'". Ich habe verschiedene Varianten ausprobiert, z.B. `DispatchTime.now() + 2.0` zu schreiben, aber dann kommt der Fehler "Binary operator '+' cannot be applied to operands of type 'DispatchTime' and 'Double'". Könnt ihr mir sagen, wie man eine Verzögerung in Swift 3 richtig macht? Ich brauche, dass nach einer Pause von 2 Sekunden ein Codeblock ausgeführt wird. Wenn möglich, zeigt mir bitte ein Beispiel mit verschiedenen Varianten: auf dem Hauptthread und im Hintergrund. Danke im Voraus! P.S. Ich verwende Xcode 8, Swift 3. <<>>

Der richtige Weg, eine Verzögerung in Swift 3 zu erstellen

Du