这是一个 Swift Encoder/Decoder 协议的实现,它使用 NSDictionary
作为其底层容器机制。
它允许你获取一个遵循 Codable 协议的原生 Swift 类或结构体,并将其转换为字典,或从字典初始化它。
许多代码实际上取自 Swift Foundation 库自己的 JSONEncoder
和 JSONDecoder
类。
事实证明,这些类实际上是通过使用 NSDictionary
作为 JSON 和要编码/解码的本地类型之间的中间步骤来工作的。不幸的是,底层 NSDictionary
支持未被 Foundation 公开,这就是我在这里实现它的原因。
更多细节请参阅这篇博客文章!
目前,最好使用 Swift Package Manager 通过 swift build
构建此模块。
可以使用 swift test
运行单元测试。
可以使用 swift package generate-xcodeproj --xcconfig-overrides DictionaryCoding.xcconfig
生成 Xcode 项目。
包含一个 CocoaPods .podspec
文件。 但我自己不使用 CocoaPods,所以我不能完全确定我没有破坏任何东西(或者忘记更新某些东西)。
请提交问题(甚至更好的是,提交拉取请求)以获得对其他构建系统的支持。