我有一个典型的问题。在我的应用程序中,我正在处理应用程序委托(delegate)方法
- (void)applicationDidBecomeActive:(UIApplication *)application
刷新界面。
由于我的应用程序不会终止并在后台运行,因此只要应用程序进入事件状态,就会调用此方法并正常工作。
但是在我的一个 View Controller 中,我正在创建 CLLocationManager 对象
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self; // send loc updates to myself
问题是,当这个位置管理器对象被创建时,应用程序委托(delegate)的“applicationDidBecomeActive”也被调用,这不是我需要处理的。 location manager 对象初始化时如何忽略调用?
最佳答案
发生这样的调用很奇怪,但如果没有办法阻止它,只需在你的默认设置中做一个标志,smth like callAfterSettingDelegate,并在你的DidBcomeActive
检查它是否在那之后被调用,忽略这个调用并将那个标志设置为 nil。
关于iOS - 应用程序委托(delegate) - 使用 CLLocationManager 调用 didBecomeActive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10173885/