sureshmopidevi / CodableExtensions

Encoder and Decoder Helpers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CodableExtensions

Helpers for Encoding and Decoding

Example

// MARK: Example
struct User: Codable {
    var fullName: String = "Suresh Mopidevi"
    var profession: String = "iOS Developer"

    enum CodingKeys: String, CodingKey {
        case fullName = "full_name"
        case profession
    }
}

let user: User = User()

// model
debugPrint(user)

// MARK: Encoding
let encodedData = user.encode()

// MARK: Data extensions
if let unwrappedData = encodedData {
    // To String
    debugPrint(unwrappedData.toString)

    // To JSON Dictionary
    debugPrint(unwrappedData.JSON)

    // decoding from Data
    // Following techniques used to decode
    debugPrint(unwrappedData.decodeTo(of: User.self)!)
    debugPrint(unwrappedData.JSON.decodeTo(of: User.self)!)
    debugPrint(unwrappedData.toString.decodeTo(of: User.self)!)

About

Encoder and Decoder Helpers

License:MIT License


Languages

Language:Swift 100.0%