有没有办法知道locationManager是活动还是停止?

时间:2016-06-01 21:32:44

标签: ios swift core-location

在我的应用中,我正在开发CoreLocation功能模块,我需要知道是否已调用library(shiny) shinyApp( ui = shinyUI( fluidPage( sliderInput("colornum","Change Bin Amount:",2, 30, 5, ticks = FALSE), tags$script(HTML(" $(document).ready(function() {setTimeout(function() { supElement = document.getElementById('colornum').parentElement; $(supElement).find('span.irs-max, span.irs-min, span.irs-single, span.irs-from, span.irs-to').remove(); }, 50);}) ")) ) ), server = function(input, output){} ) startUpdatingLocation。 我知道我可以使用布尔变量,但我想知道是否有更“全局”有用的东西。

1 个答案:

答案 0 :(得分:1)

没有API来检查CLLocationManager的“运行”状态。您可以将CLLocationManager包装在一个类(或它的子类)中,并在此自定义类上具有“running”状态。

或许这样的事情:

夫特:

class MyLocationManager: CLLocationManager {
    var running: Bool

    override init() {
        running = false
        super.init()
    }

    override func startUpdatingLocation() {
        super.startUpdatingLocation()
        running = true
    }

    override func stopUpdatingLocation() {
        super.stopUpdatingLocation()
        running = false
    }

}

ObjC:

@interface MyLocationManager : CLLocationManager
@property (nonatomic, assign) BOOL running;
@end

@implementation MyLocationManager
- (void) startUpdatingLocation
{
    [super startUpdatingLocation];
    self.running = YES;
}

- (void) stopUpdatingLocation
{
    [super stopUpdatingLocation];
    self.running = NO;
}
@end

PS:这个类不是线程安全的,但你明白了