测试已测试 | ✓ |
语言编程语言 | SwiftSwift |
许可证 | MIT |
发布时间最新发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Antoine v.d. Lee 维护。
Moya-JASONMapper 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "Moya-JASONMapper"
如果您想使用 RxSwift 的绑定,请使用此 subspec。
pod "Moya-JASONMapper/RxSwift"
如果您想使用 ReactiveCocoa 的绑定,请使用此 subspec。
pod "Moya-JASONMapper/ReactiveCocoa"
Swift 版本 | Pod 版本 |
---|---|
3.X | >= 2.0.0 |
2.3 | 1.0.0 |
要运行示例项目,请克隆仓库,然后先在 Example 目录中运行 pod install
。它包含示例代码和单元测试。
创建一个实现 Mappable
协议的 Class
或 Struct
。
import Foundation
import Moya_JASONMapper
import JASON
final class GetResponse : ALJSONAble {
let url:NSURL?
let origin:String
let args:[String: String]?
required init?(jsonData:JSON){
self.url = jsonData["url"].nsURL
self.origin = jsonData["origin"].stringValue
self.args = jsonData["args"].object as? [String : String]
}
}
stubbedProvider.request(ExampleAPI.getObject) { (result) -> () in
switch result {
case let .success(response):
do {
let getResponseObject = try response.map(to: GetResponse.self)
print(getResponseObject)
} catch {
print(error)
}
case let .failure(error):
print(error)
}
}
RCStubbedProvider.request(token: ExampleAPI.getObject)
.map(to: GetResponse.self)
.on(failed: { (error) -> () in
print(error)
}) { (response) -> () in
print(response)
}.start()
let disposeBag = DisposeBag()
RXStubbedProvider.request(ExampleAPI.getObject)
.map(to: GetResponse.self)
.subscribe(onNext: { (response) -> Void in
print(response)
}, onError: { (error) -> Void in
print(error)
}).addDisposableTo(disposeBag)
如果您使用 SwiftyJSON,请检查 Moya-SwiftyJSONMapper
Antoine van der Lee
邮件: [email protected]
主页: www.avanderlee.com
推特: @twannl
Moya-JASONMapper 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。