2017-08-29 147 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的对象字段。