2014-12-28 7 views
27

Używam NSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnit, ale niestety te "Jednostki kalendarza" są zgłaszane jako przestarzałe najpierw w IOS 8.0. Jaka jest ich alternatywa lub jak uniknąć tych ostrzeżeń.NSYearCalendarUnit przestarzałe w iOS

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; 
+0

Więc myśli przestarzałe nie? –

+0

Nie koduję w Obj-C, ale jestem pewien, że jeśli coś jest przestarzałe, musisz przełączyć się na nową wersję tego kodu/modułu/funkcji/cokolwiek innego –

+0

@JuanRocamonde Tak, znajduję nowszą wersję kochanie. – developer

Odpowiedz

43

Zastosowanie NSCalendarUnitYear:

NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay; 

wnoszę z próbki kodu w oryginalne pytanie, które szukaliśmy Objective-C odpowiedź, ale dla tych, którzy szukają odpowiednika Swift, byś zrobić:

let unitFlags: NSCalendarUnit = [.Year, .Month, .Day] 

Uwaga, w Swift 3 odpowiednikiem byłoby:

let unitFlags: Set<Calendar.Component> = [.year, .month, .day] 
1

To jest poprawna:

let flags: NSCalendarUnit = .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay