2015-04-10 5 views
9

Mein Code:'YearCalendarUnit' wurde in OS X Version veraltet 10.10: Verwenden Sie NSCalendarUnitYear statt

let calendar = NSCalendar.currentCalendar() 
let dateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.MonthCalendarUnit | NSCalendarUnit.DayCalendarUnit, fromDate: self) 

Mein Fehler:

'YearCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitYear instead 
'MonthCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitMonth instead 
'DayCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitDay instead 

Aber ich kann NSCalendarUnitYear sowie (NSCalendarUnitMonth nicht geben/NSCalendarUnitDay) Was ist los?

+1

Warum können Sie dies nicht eingeben? – Jens

Antwort

14

Verwenden let dateComponents = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: self)

Edit:
Dies liegt daran, die Fehlermeldungen für Objective-C sind, nicht für eine schnelle angepasst.

+0

.CalendarUnitYear ist auch im Kontext einer NSCalendarUnit gültig –

+0

@RobertWagstaff Ich füge hinzu, danke. – Schemetrical

+3

Ab Swift 2 verwenden Sie die 'OptionSetType'-Syntax. Für den gleichen Code würde es aussehen wie "calendar.components ([. Year, .Month, .Day], fromDate: self)' Siehe http://stackoverflow.com/questions/24066170/how-to-create- ns-options-style-bitmask-enumerations-in-swift für mehr – Will

Verwandte Themen