我找不到任何可能暗示任何方式的证据。
我目前正在每次创建新实例并使用自定义解码/编码选项对其进行配置,并且想知道我是否可以创建单例并在每次需要时将其出售。
答案 0 :(得分:1)
从JSONDecoder
和JSONEncoder
的代码来看,它们似乎是线程安全的。
encode()
和decode()
都使用JSONSerialization
(自iOS 7和macOS 10.9起它是线程安全的),并且这两种方法都在局部变量中创建自己的私有解码/编码对象。据我所知,没有共享存储。
代码可以在这里找到: https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/JSONEncoder.swift