Moya-Decodable 0.2.0

Moya-Decodable 0.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017 年 10 月
SwiftSwift 版本3.2
SPM支持 SPM

xiaoyaogaojian 维护。



  • 高健




Moya 网络请求的 Decodable 映射。

安装

  • 使用 CocoaPods:
pod 'Moya-Decodable'
# or
pod 'Moya-Decodable/RxSwift'

使用

Decodable

第一步是有一个符合 Decodable 协议的类 / 结构体

struct User: Decodable {

  let id: Int
  let name: String
  
  let birthday: Date?
  
}

Moya_response mapping

如果你已经通过 Moya 设置好了一个请求,你可以在响应上使用 map(to:)

provider
  .request(.allUsers) { result in
    if case let .Success(response) = result {
      do {
        let users: [User] = try response.map(to: [User].self)
        print("mapped to users: \(users)")
      } catch {
        print("Error mapping users: \(error)")
      }
    }
  }

RxSwift

如果你正在使用 Moya RxSwift 扩展,有一个 Observable 扩展将简化映射

provider
  .request(.allUsers)
  .map(to: [User].self)
  .observeOn(MainScheduler.instance)
  .subscribeNext { users in

    self.users = users
    self.tableView.reloadData()

  }
  .disposed(by: disposeBag)

贡献

问题和拉取请求欢迎

作者

高健,[email protected]

许可证

Moya-Decodable 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。