iOS - 应用程序委托 - 使用CLLocationManager调用didBecomeActive

时间:2012-04-16 12:15:50

标签: ios uiapplicationdelegate

我有一个典型的问题。在我的应用程序中,我正在处理应用程序委托方法

- (void)applicationDidBecomeActive:(UIApplication *)application

刷新用户界面。

由于我的应用程序不会终止并在后台运行,当应用程序进入活动状态时,此方法被调用并正常工作。
但是在我的一个视图控制器中,我正在创建CLLocationManager对象

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self; // send loc updates to myself

问题在于,当创建这个位置管理器对象时,还会调用应用程序委托的“applicationDidBecomeActive”,这对我来说是不必要的。在初始化位置管理器对象时,我应该如何忽略该调用?

1 个答案:

答案 0 :(得分:0)

很奇怪,这样的电话会发生,但是如果没有办法阻止它,只需在你的默认值中设置一个标志,然后在你的DidBcomeActive检查中是否正确 {strong} {之后调用它,忽略此调用并将该标志设置为nil。