2016-03-29 7 views
0

Ich musste ein Jahr zum aktuellen Datum hinzufügen (swift & iOS 7 und höher). Aber jede Lösung, die ich gefunden habe, ist nur iOS 8 und höher. Bitte führen Sie mich durch die richtige Lösung. DankNSDateComponents.setValue() funktioniert nicht mit iOS 7 und niedriger Version

let components: NSDateComponents = NSDateComponents() 
    components.setValue(1, forComponent: NSCalendarUnit.Year); 
    let date: NSDate = NSDate() 
    let expirationDate = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0)) 

Antwort

2

Die setValue() Methode von NSDateComponents nur verfügbar ist, auf iOS 8/OS X 10.9 oder höher:

components.setValue(1, forComponent: NSCalendarUnit.Year) 

Für iOS 7-Unterstützung, einfach

components.year = 1 

auch verwenden Beachten Sie, dass

dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0) 

kürzer geschrieben werden als

dateByAddingComponents(components, toDate: date, options: []) 

für Swift 2.0 calendar components error Beispiel vergleichen.

+0

Danke. Es hat funktioniert :) – Jan

+0

Also funktioniert diese Methode sowohl auf iOS 7 und höher richtig? – Jan

+0

@Shameerjan: Ja. –

Verwandte Themen