Skip to content
This repository has been archived by the owner on Mar 8, 2021. It is now read-only.
/ MMCodable Public archive

基于 SwiftyJSON 对官方 Codable 进行强化的协议。无须关心原 json 数据中的类型,最终解析出来的类型由开发者决定!

License

Notifications You must be signed in to change notification settings

MoyaMapper/MMCodable

Repository files navigation

MMCodable

Author Build Status Version Carthage License Platform

感谢所有对本库给予支持的朋友!

由于本库依赖的 SwiftyJSON 停止维护已久,加上本人对库的维护时间十分有限,现决定停止维护,给您带来的不便敬请谅解!

MMCodable 是从 MoyaMapper 里分离出来的,基于 SwiftyJSON 对官方 Codable 进行强化的协议。无须关心原 json 数据中的类型,最终解析出来的类型由开发者决定!

Requirements

  • iOS 8.0+

  • Swift 5.0+

Feature

  • 无视 json 中值的类型,Model 中属性声明的是什么类型,它就是什么类型

Usage

使用方式跟 Codable 一致,只是多了一个 mapping 方法,方便进行额外的数据和类型的映射

import MMCodable
import SwiftyJSON

struct AModel: MMCodable {
    var name: String = ""
    mutating func mapping(_ json: JSON) {
        name = json["aname"].stringValue
    }
}

Installation

Cocoapods

pod 'MMCodable'

Carthage

在你的 Cartfile 文件中添加如下内容:

github "MoyaMapper/MMCodable"

接着运行 carthage update --platform ios.

Author

License

MMCodable is available under the MIT license. See the LICENSE file for more info.

About

基于 SwiftyJSON 对官方 Codable 进行强化的协议。无须关心原 json 数据中的类型,最终解析出来的类型由开发者决定!

Resources

License

Stars

Watchers

Forks

Packages

No packages published