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