2015-04-10 12 views
9

Kodum:'YearCalendarUnit' OS X sürüm 10.10 kullanımdan kaldırıldı: Kullanım NSCalendarUnitYear yerine

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

Benim hatası:

'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 

Ama NSCalendarUnitYear yanı sıra yazamaz (NSCalendarUnitMonth/NSCalendarUnitDay) Sorun nedir?

+1

Bunu neden yazamazsınız? – Jens

cevap

14

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

Düzenleme: hata iletileri Objective-C içindir çünkü bu, Swift için adapte edilmez
.

+0

.CalendarUnitYear bir NSCalendarUnit bağlamında da geçerlidir –

+0

@RobertWagstaff Bunu ekleyeceğim, teşekkürler. – Schemetrical

+3

Swift 2'den itibaren 'OptionSetType 'sözdizimini kullanıyorsunuz. Aynı kod için, 'calendar.components' ([. Year, .Month, .Day], fromDate: self) gibi görünecektir. Bkz. Http://stackoverflow.com/questions/24066170/how-to-create- Daha fazla bilgi için ns-options-style-bitmask-sayimlari – Will

İlgili konular