获取变量中 NSCalendarUnit 的 NSDateComponents 值

Getting NSDateComponents' value for an NSCalendarUnit in a variable

要从 NSDateComponents 对象获取分钟值,您可以这样做:

var someNSDateComponentsObject: NSDateComponents = NSCalendar.currentCalendar().components(timeUnit, fromDate: someDate, toDate: someOtherDate, options: nil)
someNSDateComponentsObject.minute

如果我不想使用 someNSDateComponentsObject.minute,而是想使用 timeUnit 的值,这是一个 NSCalendarUnit,会怎么样? switch 语句是唯一的选择,还是有更优雅的解决方案?

总的来说,我要完成的事情是获取两个日期之间 timeUnit 的数量。有没有更好的方法来避免这个问题?

In iOS 8 NSDateComponents gained how-did-this-not-exist-before 方法 valueForComponent:(及其合作伙伴 setValue:forComponent:),奇怪的是它没有进入 class参考文档呢。它会按照您的预期进行:给定一个 NSCalendarUnit,它 returns 日期组件实例为该单位保留的值。