NSDateComponents zu NSDate - Swift
Habe ich diese Funktion :
private func getCurrentDateComponent() -> NSDateComponents {
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitMonth | .CalendarUnitYear | .CalendarUnitDay, fromDate: date)
return components
}
Wenn ich es nennen und ich benutze die Funktion date
var d = this.getCurrentDateComponent().date
Ich weiß nicht, warum die variable d ist null...
Danke für Eure Hilfe
Ysee
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist, wie ich es mache:
Beachten Sie, dass in Swift 2.0 der bitweisen ODER-operator
|
wird nicht mehr gebraucht, stattdessen dieNSCalendarUnit
entspricht derOptionSetType
format:Swift 4 :
Müssen Sie den Kalender vor der Verwendung
NSDateComponents
, denn ohne Kalender gibt es in keinem Datum.Der Konvertierung zwischen Datum und Komponenten Datum erfordert immer eine Kalender.
Sie haben zwei Optionen (vergleichen NSCalendar dateFromComponents: vs NSDateComponents Datum):
Weisen Sie einen Kalender, um das Datum, Komponenten, d.h. hinzufügen
Ihrem
getCurrentDateComponent()
Methode. Dannfunktioniert wie erwartet. (Ohne Zuweisung einen Kalender mit dem Datum
Komponenten, die
date
Eigenschaft gibtnil
, wie Sie beobachtet ist.)Alternativ, rufen Sie einen Kalender-Methode für die Konvertierung: