In Swift 3, NSCalendar.current
kehrt ein Calendar
, die der Swift Wert Wrapper für die Foundation NSCalendar
Typ ist.
dateComponents()
dauert Set<Calendar.Component>
und zwei Date
Argumente. Date
der Swift-Wert Wrapper für NSDate
.
Wenn bestehende Foundation APIs in Swift importiert werden, werden die Typen automatisch überbrückt, das, warum NSCalendar.current
eine Calender
und nicht NSCalendar
zurückgibt.
Die Werte-Typen werden in Swift 3 bevorzugt, da sie die richtigen Wert Semantik liefern und let
und var
statt von unveränderlichen und veränderlichen Varianten verwenden.
Dass sie alle zusammen:
let fromDate = Date(timeIntervalSince1970: ...)
let toDate = Date()
let components = Set<Calendar.Component>([.second, .minute, .hour, .day, .weekOfMonth])
let differenceOfDate = Calendar.current.dateComponents(components, from: fromDate, to: toDate)
Weitere Informationen über Swift 3-Wert-Wrapper-Typen und ihre entsprechenden Typen Foundation finden SE-0069 Mutability and Foundation Value Types, oder den Abschnitt "Bridged-Typen" in Working with Cocoa Frameworks im " Verwenden von Swift mit Kakao und Objective-C " Referenz.
danke Martin R ... – revi