FlexibleModelProtocol 1.1.6

FlexibleModelProtocol 1.1.6

维护者 hwlee.



  • hanwe lee

FlexibleModelProtocolImage

FlexibleModelProtocol

具有灵活、多样化的转换类型的模型协议

Platform Cocoapods Compatible

要求

  • iOS 11.0+ / macOS 10.13+ / tvOS 13.0+ / watchOS 6.0+
  • Xcode 11+
  • Swift 5.0+

安装

CocoaPods

CocoaPods 是一个用于 Cocoa 项目的依赖管理器。有关用法和安装说明,请访问其网站。要使用 CocoaPods 将 FlexibleModelProtocol 集成到您的 Xcode 项目中,请在 Podfile 中指定它。

pod 'FlexibleModelProtocol', '~> 1.1'

用法

示例模型

import FlexibleModelProtocol

struct MyModel: FlexibleModelProtocol {
    typealias selfType = MyModel
    ...
}

从数据

  • JSON
let myModel: MyModel? = MyModel.fromJson(jsonData: data)
  • XML
let myModel: MyModel? = MyModel.fromXML(xmlData: data)
  • 词典
let myModel: MyModel? = MyModel.fromDictionary(dictionary: data)
  • NSDictionary
let myModel: MyModel? = MyModel.fromNSDictionary(nsDictionary: data)

到数据

  • JSON
let jsonString: String = myModel.toJson()
  • XML
let xmlString: String? = myModel.toXML()
  • 词典
let dictionary: [String:Any]? = myModel.toDictionary()
  • NSDictionary
let nsDictionary: NSDictionary? = myModel.toNSDictionary()

拷贝时写入

示例模型

struct MyModel: FlexibleModelProtocol {
    ...
}
struct MyCopyOnWriteModel: CopyOnWriteModelProtocol {
    typealias ModelType = MyModel
    var dataWrapper: DataWrapper<MyModel>? = nil
}

FlexibleModelProtocolModel到CopyOnWriteModelProtocolModel

let model: MyModel = MyModel(...)
var emptyCowObj: MyCopyOnWriteModel = MyCopyOnWriteModel()
let cowData: MyCopyOnWriteModel? = model.toCopyOnWriteModel(object: &emptyCowObj)

CopyOnWriteModelProtocolModel 到 FlexibleModelProtocolModel

let cowModel: MyCopyOnWriteModel = CowModel(dataWrapper: DataWrapper(originModel: MyModel(...)))
let flexibleModel: MyModel? = cowModel.toFlexibleProtocolModel()

* 示例项目 *

我编写了一个如何用于单元测试的示例。

联系我们

电子邮件: [email protected]

许可证

FlexibleModelProtocol 根据 MIT 许可证发布。有关详细信息,请参阅LICENSE