2012-04-16 2 views
1

У меня типичная проблема. В моей заявке я обрабатываю метод делегирования заявкиiOS - делегат приложения - вызов didBecomeActive с CLLocationManager

- (void)applicationDidBecomeActive:(UIApplication *)application 

для обновления пользовательского интерфейса.

Поскольку мое приложение не будет завершено и запущено в фоновом режиме, когда приложение приходит в активное состояние, этот метод вызывается и работает нормально.
Но в одном из моей точки зрения контроллера, я создаю объект CLLocationManager

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

Проблема заключается в том, что, когда этот объект менеджер местоположения создается, применение делегата «applicationDidBecomeActive» также называют, не является необходимым для меня. Как следует игнорировать вызов при инициализации объекта диспетчера местоположений?

ответ

0

Это странно, что такой вызов встречается,, но если нет никакого способа, чтобы остановить его, просто сделать флаг в ваших дефолтов, чем-л LKE callAfterSettingDelegate, и в вашем DidBcomeActive проверки, если она была вызвана после того, игнорировать этот вызовите и установите этот флаг в nil.

+0

Управление флагами для всего - неправильный путь. Если вы добавите флаги, код будет заполнен флагами и больше ничего. – Satyam

Смежные вопросы