Need help with DictionaryCoding?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

elegantchaos
133 Stars 35 Forks Other 75 Commits 13 Opened issues

Description

Swift Decoder/Encoder which converts to/from dictionaries.

Services available

!
?

Need anything else?

Contributors list

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

DictionaryCoding

This is an implementation of Swift's Encoder/Decoder protocols which uses

NSDictionary
as its underlying container mechanism.

It allows you to take a native swift class or struct that confirms to the Codable protocol and convert it to, or initialise it from, a dictionary.

A lot of the code is actually taken from the Swift Foundation library's own

JSONEncoder
and
JSONDecoder
classes.

It turns out that those class actually work by using

NSDictionary
as an intermediate step between JSON and the native type to be encoded/decoded. Unfortunately the underlying
NSDictionary
support isn't exposed by Foundation, which is why I've done so here.

See this blog post for a bit more detail!

Build Instructions

At the moment this module is best built using the Swift Package Manager with

swift build
.

The unit tests can be run with

swift test
.

An Xcode project can be generated with

swift package generate-xcodeproj  --xcconfig-overrides DictionaryCoding.xcconfig
.

A CocoaPods

.podspec
file is included. I don't use CocoaPods myself though, so I can't be entirely sure that I haven't broken something (or forgotten to update something).

Please file issues (or even better, pull requests) for support for other build systems.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.