I think I got it.
for (id <MKAnnotation> annotation in mapView.annotations) {
[[mapView viewForAnnotation:annotation] removeObserver:self
forKeyPath:@"selected"];
}
Regards,
Phil
On Sep 11, 2010, at 7:49 AM, Philip Vallone wrote:
> 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 protected])
>
> 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:
> http://lists.apple.com/mailman/options/cocoa-dev/philip.vallone%40verizon.net
>
> This email sent to [email protected]
_______________________________________________
Cocoa-dev mailing list ([email protected])
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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]