swift - 如何从 CLLocationManager 更新创建 Observable

标签 swift cllocationmanager rx-swift

我在我的应用程序中使用RxSwift 库。我正在尝试转换我的应用程序逻辑来处理 GPS 位置更新并将其移至可观察的。为此,我一直使用此代码作为基准: https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Examples/GeolocationExample/GeolocationViewController.swift

但是,在上面的代码中,更新通过 UIView 扩展直接传递到 UIElement。这对我来说没有用,因为我需要将这些更新传递给非 UI 观察者变量以进行进一步的后台处理。

我是 RxSwift 新手,我不知道如何构建我在这种情况下需要的观察者类型。我也未能在 RxSwift 文档中找到这一点。

如果有人可以评论如何使用 RxSwift 实现 CLLocationManager 的此实现,我将不胜感激。

最佳答案

发现不需要创建Observer,observable本身有以下可能:

让 geolocationObservable = geolocationService.location .drive(onNext: { (位置: CLLocation) in print(位置.海拔高度) }, onCompleted: { //去做 }) { //去做 }

关于swift - 如何从 CLLocationManager 更新创建 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522769/

相关文章:

ios - Swift:获取用户的位置坐标作为纬度和经度?

SwiftUI:仅当输入不为空时才启用保存按钮

ios - Google map GMSPanoramaView api 被阻止

swift - 如何在 Swift 中追加结构体的 Bool 值

ios - locationManager.location 返回 nil

swift - 错误 : cannot invoke 'onNext' with an argument list of type '(String)' RxSwift

arrays - 将变量添加到我的数组中

ios - 获取用户的当前位置/坐标

swift - 我如何使用 RxSwift 让我的程序快速响应

rx-swift - RxSwift : Convert Observable to a Variable