У меня есть ViewController (с MKMapView), который запихивается из-за NavigationController. Так что у меня есть NavBar с кнопкой «назад».
При нажатии на эту кнопку возврата я получаю сообщение об ошибке:
2010-01-11 18: 05: 35.273 TestApp [147: 207] Экземпляр 0x1758f0 класса MKUserLocation освобождается, в то время как наблюдатели значения ключа все еще зарегистрированы в нем. Информация о наблюдениях просачивается и может даже ошибочно присоединиться к какому-либо другому объекту. Установите точку останова на NSKVODeallocateBreak, чтобы остановиться здесь в отладчике. Вот текущая информация наблюдения:
(
Контекст: 0x0, Свойство: 0x17d600>
)
Программа получила сигнал: «EXC_BAD_ACCESS».
У меня есть метод viewDidLoad, реализованный с помощью Observer:
- (void)viewDidLoad {
mapView = (MKMapView*)self.view;
mapView.delegate = self;
mapView.mapType = MKMapTypeHybrid;
mapView.showsUserLocation = YES;
// ...
[mapView.userLocation addObserver:self forKeyPath:@"location" options:0 context:NULL];
[super viewDidLoad];
}
Мой сделка:
- (void)dealloc {
[groupId release];
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
Может кто-нибудь сказать мне, что здесь не так? Я нажимаю кнопку «Назад» в NavBar, затем захожу в метод dealloc, а затем он переключается обратно на более высокий ViewController и выдает эту ошибку.
Большое спасибо заранее и наилучшими пожеланиями.