RxOpenWeatherMap 0.0.12

RxOpenWeatherMap 0.0.12

Greener Chen 维护。



 
依赖
RxSwift~> 6.1.0
RxCocoa~> 6.1.0
RxAlamofire~> 6.1.1
 

  • Greener Chen

RxOpenWeatherMap

使用 RxSwift 和 Swift 5.3 处理 Open Weather Map API 的基本响应数据,返回可解码的可观察对象

安装

只需将 RxOpenWeatherMap 添加到您的 Podfile 中即可

pod 'RxOpenWeatherMap'

使用方法

声明一个带您的 API 密钥、特定温度单位(.celsius、.fahrenheit、.kelvin)和可选特定语言代码的 OpenWeatherClient,然后向客户端发送消息以请求 API 调用。目前 OpenWeatherClient 支持两种 API 调用 - 一种调用获取天气数据并直接进行地理编码以获取位置信息。每个 API 调用都返回 RxSwift.Observable,您可以为它订阅。

import RxSwift
import RxCocoa
import RxOpenWeatherMap

let disposeBag = DisposeBag()
let weather = PublishSubject<OneCallResponse>()

do {
  try OpenWeatherClient(apiKey: "PUT_YOUR_API_KEY_HERE",
                        temperatureUnit: .celsius,
                        language: Locale.current.languageCode)
    .oneCall(latitude: 25.234, longitude: -123.432)
    .subscribe(onNext: { [weak self] (oneCallResponse) in 
      self?.weather.onNext(oneCallResponse)
    })
    .disposed(by: disposeBag)
  } catch {
    print(error.localizedDescription)
  }