我使用的是NSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnit,但不幸的是,这些“日历单位”在IOS 8.0中首先被弃用。
他们有什么选择,或者如何避免这些警告。

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;

最佳答案

使用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]

10-07 19:17