NSYearCalendarUnit在iOS中已弃用

时间:2014-12-28 14:36:13

标签: ios warnings deprecated

我正在使用NSYearCalendarUnit NSMonthCalendarUnit NSDayCalendarUnit但不幸的是,这些“日历单位”在IOS 8.0中被报告为已弃用。 它们的替代方案是什么,或者我如何避免这些警告。

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;

2 个答案:

答案 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