Wie man dispatch_after in Swift richtig verwendet, um Code mit Verzögerung auszuführen?
Hallo! Ich habe gerade angefangen, Swift zu lernen, und versuche, mich mit Grand Central Dispatch vertraut zu machen. Früher in Objective-C habe ich oft dispatch_after verwendet, um Code mit einer Verzögerung auszuführen, zum Beispiel:
```objc
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"2 Sekunden sind vergangen");
});
```
Aber jetzt, wo ich in Swift schreibe, bin ich mir nicht sicher, wie ich diesen Code richtig umschreiben soll. Ich habe so etwas versucht:
```swift
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue()) {
print("2 Sekunden sind vergangen")
}
```
Aber der Compiler beschwert sich über die Syntax. Ich habe gesehen, dass sich in Swift 3 und höher viel in der GCD API geändert hat und die alte Methode nicht mehr funktioniert. Ich muss eine Verzögerung vor einem UI-Update ausführen (z.B. einen Alert anzeigen oder ein Label ändern). Könnt ihr mir sagen, wie man das in modernem Swift richtig macht? Am besten mit Codebeispielen, damit ich genau verstehe, wie es funktioniert. Vielen Dank im Voraus!
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen