Ich habe einen ViewController (mit einer MKMapView), die in, wegen der NavigationController geschoben wird. Ich habe also eine NavBar mit einem "Zurück"-Button. Wenn ich auf den Zurück-Button klicke, bekomme ich einen Fehler:
2010-01-11 18:05:35.273 TestApp[147:207] Eine Instanz 0x1758f0 der Klasse MKUserLocation wird deallociert, während noch Schlüsselwertbeobachter mit ihr registriert sind. Die Beobachtungsinformationen gehen verloren und können sogar fälschlicherweise mit einem anderen Objekt verknüpft werden. Setzen Sie einen Haltepunkt auf NSKVODeallocateBreak, um hier im Debugger anzuhalten. Hier ist die aktuelle Beobachtungsinformation: ( Context: 0x0, Property: 0x17d600> ) Programm hat Signal empfangen: "EXC_BAD_ACCESS".
Ich habe die viewDidLoad-Methode mit einem Observer implementiert:
- (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];
}
Meine Freigabe:
- (void)dealloc {
[groupId release];
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
Kann mir jemand sagen, was hier falsch ist? Ich klicke auf die Schaltfläche "Zurück" in der NavBar und dann komme ich in die dealloc-Methode und dann schaltet es zurück zu den höheren ViewController und wirft diesen Fehler.
Vielen Dank im Voraus und mit freundlichen Grüßen.