MKPinAnnotationView was deallocated while key value observers were still registered with it
MKPinAnnotationView was deallocated while key value observers were still registered with it
- Subject: MKPinAnnotationView was deallocated while key value observers were still registered with it
- From: Philip Vallone <email@hidden>
- Date: Sat, 11 Sep 2010 07:49:43 -0400
Hi,
I am trying to add a KVO for my MKPinAnnotationView class. In my MapViewController which has an instance of a MKMapView, I have the following code:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
for (MKAnnotationView *anAnnotationView in views) {
[anAnnotationView addObserver:self
forKeyPath:@"selected"
options:NSKeyValueObservingOptionNew
context:MAP_ANNOTATION_SELECTED];
}
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
NSString *action = (NSString*)context;
NSLog(@"Selected");
if([action isEqualToString:MAP_ANNOTATION_SELECTED]){
// do something
}
}
In my AnnotationView I try to remove the observer:
- (void)dealloc {
[self removeObserver:self forKeyPath:@"selected"];
[super dealloc];
}
My MapViewController is a UIViewController. When I add some MKAnnotationViews, and the view is removed, I get the following error:
An instance 0x6b778b0 of class MKPinAnnotationView was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info:
<NSKeyValueObservationInfo 0x6e39030> (
<NSKeyValueObservance 0x6b641e0: Observer: 0x6e32220, Key path: selected, Options: <New: YES, Old: NO, Prior: NO> Context: 0x1722c, Property: 0x6b77ff0>
I am a bit confused. I am not sure how to remove the observer...
Thanks for the help,
Phil
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden