gpt4 book ai didi

swift - 查看 statUpdatingLocation 在 Swift 中是否处于事件状态

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:40 25 4
gpt4 key购买 nike

我有一个快速运行的基于位置的应用程序。我正在尝试检测 self.locationManager.startUpdatingLocation() 当前是否处于事件状态。

我正在努力寻找如何做到这一点,也无法在互联网上找到很多相关信息。我相当确定这很容易实现。我不想设置 BOOL,因为这需要是全局的。

    if CLLocationManager.locationServicesEnabled() && /* START UPDATE LOCATION GOES HERE */ {

self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.requestAlwaysAuthorization()
self.locationManager.startUpdatingLocation()

//self.locationManager.startMonitoringSignificantLocationChanges()

sender.setTitle("END DAY", forState: UIControlState.Normal)

} else {


}

最佳答案

我知道这是一个迟到的答案。但如果您想知道 locationManager 是否正在更新,这可能是一种解决方案。

您的应用中应该只有一个 CLLocationManager 实例。所以创建一个单例是理想的。然后,您应该覆盖方法 startUpdatingLocationstopUpdatingLocation

( swift 3)

import CoreLocation

class LocationManager: CLLocationManager {
var isUpdatingLocation = false

static let shared = LocationManager()

override func startUpdatingLocation() {
super.startUpdatingLocation()

isUpdatingLocation = true
}

override func stopUpdatingLocation() {
super.stopUpdatingLocation()

isUpdatingLocation = false
}
}

用法:

  if LocationManager.shared.isUpdatingLocation {
print("Is currently updating location.")
} else {
print("Location updates have stopped.")
}

关于swift - 查看 statUpdatingLocation 在 Swift 中是否处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com