Wie füge ich 1 Tag zu NSDate in Swift hinzu? Problem mit DateComponents
Hallo zusammen! Ich bin ein Anfänger iOS-Entwickler und schreibe in Swift. Ich bin auf eine scheinbar einfache Aufgabe gestoßen: Ich muss das aktuelle Datum nehmen, genau 1 Tag hinzufügen und ein neues Datum erhalten. Aber nichts funktioniert!
Hier ist mein Code:
```swift
let currentDate = NSDate()
let tomorrow = currentDate.addingTimeInterval(60 * 60 * 24) // 24 Stunden in Sekunden
print(tomorrow)
```
Das Problem ist, dass bei der Umstellung auf Sommer-/Winterzeit 24 Stunden nicht immer genau 1 Tag sind. Zum Beispiel kann ein Tag im Frühling 23 Stunden und im Herbst 25 Stunden dauern. Dadurch erhalte ich die falsche Uhrzeit. Außerdem, wenn ich 1 Monat oder 1 Jahr hinzufügen möchte, ist dieser Ansatz überhaupt nicht geeignet.
Ich weiß, dass in Objective-C dafür `NSDateComponents` und `NSCalendar` verwendet wurden, aber in Swift bin ich mit der neuen API verwirrt. Ich habe es so versucht:
```swift
let calendar = Calendar.current
var components = DateComponents()
components.day = 1
let tomorrow = calendar.date(byAdding: components, to: currentDate as Date)
```
Aber `currentDate as Date` ist...