Ich möchte NSDateComponents zu DateComponents konvertieren. Wie kann ich es in Swift ohne Gewaltanwendung tun?Wie konvertiert NSDateComponents zu DateComponents in Swift
Antwort
Es gibt nichts zu konvertieren. Nur Verwenden Sie DateComponents wo immer Sie zuvor NSDateComponents verwendet hätten.
(Sie können in der Tat werfen von einem zum anderen as
verwenden, aber Sie müssen nie. Ihr Code keine Bezug auf NSDateComponents in Swift 3. Sie DateComponents anstelle enthalten.)
Als Ergänzung dazu, warum die Frage gültig ist und und ein Beispiel dafür:
Nicht alle APIs sind noch in DateComponents konvertiert. Ein Beispiel ist der Kontakt Rahmen, in dem die Instanz Eigenschaft dates
der CNContact/CNMutableContact Klassen deklariert als
open var dates: [CNLabeledValue<NSDateComponents>]
Leider gibt es keine integrierte Möglichkeit, zwischen den beiden so zu konvertieren, wenn Sie Kraft vermeiden wollen Sie werfen wird haben jede Eigenschaft, um sich selbst zu setzen:
nsDateComponents.day = dateComponents.day
nsDateComponents.month = dateComponents.month
// etc ...
beachten Sie, dass es nicht eine 1: 1-Abbildung der Eigenschaften der beiden Klassen, haben Sie die API sehen, wenn Sie eine vollständige Abbildung tun wollen .
- 1. Unterschiede in NSDateComponents Syntax?
- 2. NSDateComponents Vergleichen auf Integer (oder konvertieren NSDateComponents zu integer)
- 3. DateComponents in Swift gibt seltsame Werte zurück. Warum?
- 4. DateComponents falsches Datum geben
- 5. Wie konvertiert Singleton-Klasse von Swift 2 zu Swift 3?
- 6. Was bedeutet Ära in NSDateComponents?
- 7. Wie bekomme ich alle Sonntage in Array von Datum ios
- 8. NSDateComponents Problem - falscher Tag
- 9. Wie konvertiert man NSDictionary zu NSObject in Swift?
- 10. In Swift, wie konvertiert man einen String zu Int64?
- 11. Wie konvertiert man Int zu Double in Swift playground?
- 12. Wie konvertiert man CMSampleBuffer zu Daten in Swift?
- 13. Wie konvertiert man UInt8 zu AnyObject in Swift 2.3
- 14. Wie konvertiert [UInt8] zu ASCII in swift 3.0
- 15. Wie konvertiert man UInt16 zu UInt8 in Swift 3?
- 16. Wie konvertiert man Byte-Array zu Base64-String in Swift?
- 17. Wie konvertiert man ++ oder - in Swift 3?
- 18. Swift: Wie konvertiert man String in UInt?
- 19. Wie konvertiert man Hex-Zahl in Swift?
- 20. Wie konvertiert Alle in Swift Int
- 21. Swift, wie man Zeichenfolge in NSDate konvertiert
- 22. Wie konvertiert Swift 3 Ausgabe von readLine() zu Integer?
- 23. Wie konvertiert man MONActivityView-Methode für Swift
- 24. DateComponents und Notifications werden nicht angezeigt
- 25. Wie konvertiert man Any in Int in Swift?
- 26. Swift konvertiert String nach Datum
- 27. Wie konvertiert man "Index" in Swift in "Int"?
- 28. Wie konvertiert man NSURLRequest in NSMutableURLRequest in Swift 3?
- 29. Wie konvertiert man einen Int in NSData in Swift?
- 30. Wie konvertiert man double in int in swift
Nicht sicher, warum diese Frage geschlossen oder heruntergestimmt wird. Wäre gut, den Grund zu wissen, da dies eine gültige Frage ist, deren Antwort in den Apples API Docs nicht bekannt ist. Es gibt keine öffentliche Methode, um NSDateComponents in DateComponents zu konvertieren, und ich möchte sie nicht nur erzwingen. –
@EricAya @ matts Antwort ist nicht ganz richtig. Ich habe das in einem Projekt ausprobiert und es hat mich gezwungen, "NSDateComponent" zu verwenden, das ich 'als DateComponent' verwendet hatte. –
Fehler: Wert des Typs 'DateComponents' kann nicht in den angegebenen Typ 'NSDateComponents' konvertiert werden let x: NSDateComponents = DateComponents() ^ ~~~~~~~~~~~~ als NSDateComponents –