【问题标题】:Error combining NSCalendarUnit with OR (pipe) in Swift 2.0在 Swift 2.0 中将 NSCalendarUnit 与 OR(管道)组合时出错
【发布时间】:2015-11-29 15:28:14
【问题描述】:

我有一些在 Swift 2.0 中出现问题的代码:

let formatter = NSDateComponentsFormatter()
formatter.allowedUnits = NSCalendarUnit.Year
formatter.allowedUnits |= .Month
formatter.allowedUnits |= .WeekOfMonth 
formatter.allowedUnits |= .Day
formatter.allowedUnits |= .Hour
formatter.allowedUnits |= .Minute

我收到错误Binary operator '|=' cannot be applied to 'NSCalenderUnit' operands

做这种事情的新方法是什么?

【问题讨论】:

标签: swift nsdateformatter swift2 nscalendar nsdatecomponents


【解决方案1】:

NSCalendarUnit 在 Swift 2 中是 OptionSetType,而不是 RawOptionSetType。这意味着你不能再合乎逻辑了。相反,您可以使用它的数组文字表示:

formatter.allowedUnits = [.Year, .Month, .WeekOfMonth, .Day, .Hour, .Minute]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2021-11-29
    • 2018-05-13
    • 2018-12-18
    • 2012-10-27
    相关资源
    最近更新 更多