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)
}