我正在計算兩個 s 之間的差異Date:
let diff = Calendar.current.dateComponents([.day], from: oldDate, to newDate)
結果我得到了DateComponents一個,其中day屬性是可選的,檔案并沒有說在這個計算中保證有一個非零,所以我想知道我是否可以做出在這種情況下永遠不會出現day的假設, 即使兩者相同,也應該是 0 而不是; 或者,是否有可能有一個等于?daynilDatedaynildaynil
謝謝!
uj5u.com熱心網友回復:
我會說函式呼叫的合同是模棱兩可的。ADateComponent的屬性都是可選的。當您要求時,它似乎應該在days屬性中回傳一個值,但我仍然會進行防御性編碼。
我將強制轉換運算子稱為“crash if nil”運算子,因為它就是這樣做的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477700.html
