【问题标题】:'YearCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitYear instead'YearCalendarUnit' 在 OS X 版本 10.10 中已弃用:改用 NSCalendarUnitYear
【发布时间】:2015-04-10 07:38:17
【问题描述】:

我的代码:

 let calendar = NSCalendar.currentCalendar()
 let dateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.MonthCalendarUnit | NSCalendarUnit.DayCalendarUnit, fromDate: self)

我的错误:

'YearCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitYear instead
'MonthCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitMonth instead
'DayCalendarUnit' was deprecated in OS X version 10.10: Use NSCalendarUnitDay instead

但是我不能打字 NSCalendarUnitYear 以及 (NSCalendarUnitMonth/ NSCalendarUnitDay) 怎么了?

【问题讨论】:

  • 为什么不能输入这个?

标签: ios macos swift


【解决方案1】:

使用let dateComponents = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: self)

编辑:
这是因为错误消息是针对 Objective-C 的,而不是针对 swift 的。

编辑 2:请参阅 Will 对 Swift 2 及更高版本的评论。

【讨论】:

  • .CalendarUnitYear 在 NSCalendarUnit 的上下文中也有效
  • 从 Swift 2 开始,您使用 OptionSetType 语法。对于相同的代码,它看起来像 calendar.components([.Year, .Month, .Day] , fromDate: self) 更多信息请参阅 stackoverflow.com/questions/24066170/…
猜你喜欢
  • 2014-12-15
  • 2016-11-24
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
相关资源
最近更新 更多