2017-05-06 36 views

回答

2

Date是不可變的。您別無選擇,只能在每次需要當前日期/時間時創建一個新實例。

var someDate = Date() 

及更高版本:

someDate = Date() 

有沒有其他的方式來更新someDate當前的日期/時間,而無需創建一個新的Date實例。

對此沒有任何低效率。不要擔心過早的優化。

現在,如果要在循環中使用當前日期或使多個對象使用相同日期,請在循環(或存儲在類屬性中)之前創建Date實例,然後根據需要重用該值。

0

Date對象是不可變的,正如rmaddy在他的回答中所說的。如果要將當前日期作爲Date對象,則需要使用Date()初始值設定項創建Date的新實例。只要在需要當前日期的任何時候創建新日期,不用擔心。

如果你想避免創建新的Date對象(這不太可能是一個問題),那麼你可以使用Date靜止無功timeIntervalSinceReferenceDate

let currentInterval = Date.timeIntervalSinceReferenceDate 

這會給你一個TimeInterval(這是一個雙,是一個標量值,而不是一個對象),表示自Cocoa引用日期以來的當前秒數。然後,您可以對該值進行數學運算,如果需要,甚至可以使用它來稍後創建Date對象。

-1

Date()返回當前日期。你可以使用你自己的邏輯。

相關問題