2017-08-29 21 views
-2

我想確定如果swift日曆結構是線程安全的。我發現NSCalendar類是「generally considered to be thread safe」。但是我無法找到Calendar結構的特定信息。Swift Calendar線程安全嗎?

我的目標是擴展日期結構與日曆用於擴展方法,如昨天,明天等我不想創建一個新的日曆實例與每個調用。

+0

'擴展日曆{ 靜態讓ISO8601 =日曆(標識符:.iso8601) }' –

+0

,只是使用'Calendar.iso8601.whatever' https://stackoverflow.com/a/45242626/2303865 –

+0

爲了Leo的點,這是有效的,但取決於你使用的是什麼類型的功能,使用'Calendar.current'可能更謹慎。 ISO 8601適用於Web服務或數據庫中的日期,但對於向最終用戶展示的任何內容,「Calendar.current」會更好。 – Rob

回答

0

Calendar意味着是一個簡易替換爲NSCalendar,實際上是隻是一個包裝在蘋果平臺周圍NSCalendar,所以如果NSCalendar是線程安全的,我期望Calendar是也。

0

如果您看過Calendar's source code,您將看不到任何代碼以使其線程安全。所以我認爲不是,不同的線程會看到不同版本的Calendar的對象字段。