我正在使用NSYearCalendarUnit
NSMonthCalendarUnit
NSDayCalendarUnit
但不幸的是,这些“日历单位”在IOS 8.0
中被报告为已弃用。
它们的替代方案是什么,或者我如何避免这些警告。
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
答案 0 :(得分:45)
使用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]
答案 1 :(得分:1)
这是正确的:
let flags: NSCalendarUnit = .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay