如何从CLLocationManager更新创建Observable

时间:2016-04-09 21:11:54

标签: swift cllocationmanager rx-swift

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

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

我是RxSwift的新手,我不知道在这种情况下如何构建我需要的Observer类型。我也没能在RxSwift文档中找到它。

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

1 个答案:

答案 0 :(得分:0)

发现没有必要创建一个Observer,在observable本身内有以下可能性:

let geolocationObservable = geolocationService.location .drive(onNext: { (location: CLLocation) in print(location.altitude) }, onCompleted: { //TODO }) { //TODO }