Ich habe viele Datumsfelder in meinem Datenbankmodell. CoreData ermöglicht die Verwendung von NSDate oder TimeInterval zum Speichern von Daten in Abhängigkeit von der Option "Skalarentyp verwenden".Verwenden Sie Swift's Date mit CoreData
aber diese beiden Optionen sind schlecht für mich, da ich Daten als Date Objekte verwenden möchten. Da NSDate nicht implizit in Date
konvertierbar ist, muss ich Werte in Date
konvertieren/umwandeln oder eine Menge von benutzerdefinierten Setter/Getter in meinen NSManagedObject-Klassen implementieren.
Ich habe versucht, ValueTransformer
zu verwenden, aber es funktioniert nicht mit non @ objc Klassen wie Date
.
So gibt es eine einfache Möglichkeit zu speichern und Date
Werte zu/von CoreData zu erhalten?
Es ist die einzige Art und Weise, in Xcode 8. Datei eine Erweiterung Anfrage mit Apple, und vielleicht wird es in einem zukünftigen Update zu bekommen. –
Ich habe gerade bemerkt, dass Sie ein Buch über CoreData geschrieben haben. Es scheint also keinen Sinn zu geben, auf eine andere Lösung zu warten :) Danke noch einmal. – Avt
Was ist mit der Option, "Codegen" auf "Manuell/Keine" zu setzen, anstatt die ganze Klasse selbst zu erstellen, wählen Sie einfach Ihr Modell auf der linken Seite und aus dem Menü "Editor -> Create NSManagedObjectSubclass"? Welche die Klasse für Sie erstellt, dann müssen Sie nur NSDate zu Datum ändern. Sie müssen dies jedes Mal tun, wenn Sie das Modell aktualisieren. – oyalhi