DictionaryCoding
这是Swift的Encoder/Decoder协议的一个实现,它使用NSDictionary
作为其底层容器机制。
它允许您将遵循Codable协议的原生Swift类或结构体转换为字典,或从字典初始化它。
很多代码实际上是从Swift Foundation库的自己的JSONEncoder
和JSONDecoder
类中提取的。
结果显示,这些类实际上是通过使用NSDictionary
作为JSON和要编码/解码的原生类型之间的中间步骤来工作的。遗憾的是,Foundation没有公开底层的NSDictionary
支持,这就是为什么我在这里这样做。
请参阅这篇博客文章了解更多细节!
编译说明
目前这个模块最好使用Swift Package Manager通过swift build
来构建。
可以使用swift test -Xswiftc -target -Xswiftc x86_64-apple-macosx10.12
运行单元测试。
可以使用swift package generate-xcodeproj
生成Xcode项目。
请提交问题(或者更好的是,提交拉取请求)以支持其他构建系统。