ios5从mapview中删除注释

我刚刚开始在iOS,有一个初学者的问题。 我只是想添加并从我的地图删除一个别针,但得到一个错误:

MapViewAnnotation类的实例0x6ec5750被释放,而键值观察者仍然在其中注册。 观测信息被泄露,甚至可能被误认为是其他物体。

我有一个带有头文件的MapViewAnnotation类

#import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface MapViewAnnotation : NSObject <MKAnnotation>{ NSString *title; CLLocationCoordinate2D coordinate; } @property (nonatomic, copy) NSString *title; @property (nonatomic, readonly) CLLocationCoordinate2D coordinate; - (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d; @end 

和#import“MapViewAnnotation.h”的.m文件

 @implementation MapViewAnnotation @synthesize title, coordinate; - (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d { self = [super init]; title = ttl; coordinate = c2d; return self; } @end 

最后,我添加注释的调用如下所示:

 CLLocationCoordinate2D location; location.latitude = (double) 30.242756; location.longitude = (double) -97.781067; MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"Target" andCoordinate:location]; [self.mapView addAnnotation:newAnnotation]; 

并呼吁删除它看起来像这样:

 [mapView removeAnnotations:mapView.annotations]; 

从po看来,这个观察者的关键是坐标。 不幸的是,由于我从来没有添加过观察员,所以我不知道如何查找这里泄漏的那个。

如果有人有任何想法,我会很感激!