Test results Latest release swift 5.0 shield swift dev shield Platforms: macOS, iOS, tvOS, watchOS

Test results Latest release Swift 5.0 Platforms: iOS, macOS, tvOS, watchOS, Linux

DictionaryCoding

这是一个 Swift Encoder/Decoder 协议的实现,它使用 NSDictionary 作为其底层容器机制。

它允许你获取一个遵循 Codable 协议的原生 Swift 类或结构体,并将其转换为字典,或从字典初始化它。

许多代码实际上取自 Swift Foundation 库自己的 JSONEncoderJSONDecoder 类。

事实证明,这些类实际上是通过使用 NSDictionary 作为 JSON 和要编码/解码的本地类型之间的中间步骤来工作的。不幸的是,底层 NSDictionary 支持未被 Foundation 公开,这就是我在这里实现它的原因。

更多细节请参阅这篇博客文章

构建说明

目前,最好使用 Swift Package Manager 通过 swift build 构建此模块。

可以使用 swift test 运行单元测试。

可以使用 swift package generate-xcodeproj --xcconfig-overrides DictionaryCoding.xcconfig 生成 Xcode 项目。

包含一个 CocoaPods .podspec 文件。 但我自己不使用 CocoaPods,所以我不能完全确定我没有破坏任何东西(或者忘记更新某些东西)。

请提交问题(甚至更好的是,提交拉取请求)以获得对其他构建系统的支持。