NSYearCalendarUnit устарел в iOS
Я использую NSYearCalendarUnit
NSMonthCalendarUnit
NSDayCalendarUnit
, но, к сожалению, эти "Календарные единицы" сообщаются как устаревшие сначала в IOS 8.0
.
Какая альтернатива им, или как мне избежать этих предупреждений.
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
Ответы
Ответ 1
Используйте NSCalendarUnitYear
:
NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
Я вывел из примера кода в исходном вопросе, который вы искали Objective-C, но для тех, кто ищет эквивалент Swift, вы бы сделали:
let unitFlags: NSCalendarUnit = [.Year, .Month, .Day]
Обратите внимание, что в Swift 3 эквивалент будет:
let unitFlags: Set<Calendar.Component> = [.year, .month, .day]
Ответ 2
Это правильно:
let flags: NSCalendarUnit = .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay