我想確定如果swift日曆結構是線程安全的。我發現NSCalendar類是「generally considered to be thread safe」。但是我無法找到Calendar結構的特定信息。Swift Calendar線程安全嗎?
我的目標是擴展日期結構與日曆用於擴展方法,如昨天,明天等我不想創建一個新的日曆實例與每個調用。
我想確定如果swift日曆結構是線程安全的。我發現NSCalendar類是「generally considered to be thread safe」。但是我無法找到Calendar結構的特定信息。Swift Calendar線程安全嗎?
我的目標是擴展日期結構與日曆用於擴展方法,如昨天,明天等我不想創建一個新的日曆實例與每個調用。
Calendar
意味着是一個簡易替換爲NSCalendar
,實際上是隻是一個包裝在蘋果平臺周圍NSCalendar
,所以如果NSCalendar
是線程安全的,我期望Calendar
是也。
如果您看過Calendar's source code,您將看不到任何代碼以使其線程安全。所以我認爲不是,不同的線程會看到不同版本的Calendar
的對象字段。
'擴展日曆{ 靜態讓ISO8601 =日曆(標識符:.iso8601) }' –
,只是使用'Calendar.iso8601.whatever' https://stackoverflow.com/a/45242626/2303865 –
爲了Leo的點,這是有效的,但取決於你使用的是什麼類型的功能,使用'Calendar.current'可能更謹慎。 ISO 8601適用於Web服務或數據庫中的日期,但對於向最終用戶展示的任何內容,「Calendar.current」會更好。 – Rob