1

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

- (void)applicationDidBecomeActive:(UIApplication *)application

刷新用户界面。

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

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

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

4

1 回答 1

0

发生这样的调用很奇怪,但是如果没有办法阻止它,只需在您的默认设置中创建一个标志,smth lke callAfterSettingDelegate,然后DidBcomeActive检查它是否在此之后被调用,忽略此调用并将该标志设置为 nil .

于 2012-04-24T13:31:43.953 回答