0
我有几个的称取枚举的阵列作为参数的方法的一个参数,但是我看到,例如改变的时间间隔为组件的情况下,我请接受多个枚举与迅速
func components(_ unitFlags: NSCalendar.Unit, from startingDate: Date, to resultDate: Date, options opts: NSCalendar.Options = []) -> DateComponents
其中unitFlags
接受多个值。例如,即使函数参数未定义为NSCalendar单位数组,我也可以传递[.year, .month]
。我如何在自定义枚举/函数中实现这种行为?
由于
'NSCalendar.Unit'是[OptionSet](https://developer.apple.com/documentation/swift/optionset),不是枚举,而是混合了Swift 2和3语法。在Swift 3中,它是'Calendar.Component',整个方法是'func dateComponents(_ components:Set,从start:Date到end:Date) - > DateComponents' –
vadian
感谢vadian,我将不得不采取看看OptionSet,我从来没有听说过这样的事情。 (我的例子是Swift 4) –
Swift 3和4中的方法签名是相同的,我说的是本机'Calendar'结构而不是'NSCalendar'。不要在Swift 3+中使用'NSCalendar'。 – vadian