类 – (MyAnnotation注释)被释放

类 – (MyAnnotation注释)的一个实例0x11d0ce4b0被释放,而键值观察者仍然注册它。 观测信息被泄露,甚至可能被误认为是其他物体。 在NSKVODeallocateBreak上设置断点,在debugging器中停止。 以下是当前的观察信息:

但是我已经在我的dealloc方法上放了一个断点 ,在那里,我注销了那些通知。 Dealloc被调用,而且我确实检查了它是同一个对象,并且所有的注销调用都在那里。 所以我不知道如何去除观察者。

创build自定义AnnotationView

 #import <MapKit/MapKit.h> @interface AnnotationView : MKPlacemark @property (nonatomic, readwrite, assign) CLLocationCoordinate2D coordinate; @property (nonatomic, strong) NSString *title; @property (nonatomic, strong) NSString *subtitle; @end 

.m file

 #import "AnnotationView.h" @implementation AnnotationView - (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate addressDictionary:(NSDictionary *)addressDictionary { if ((self = [super initWithCoordinate:coordinate addressDictionary:addressDictionary])) { self.coordinate = coordinate; } return self; } @end 

//使用Annotation在相关的.m file添加#import "AnnotationView.h"

 CLLocationCoordinate2D pCoordinate ; pCoordinate.latitude = LatValue; pCoordinate.longitude = LanValue; // Create Obj Of AnnotationView class AnnotationView *annotation = [[AnnotationView alloc] initWithCoordinate:pCoordinate addressDictionary:nil] ; annotation.title = @"I m Here"; annotation.subtitle = @"This is Sub Tiitle"; [self.mapView addAnnotation:annotation]; 

以上是简单的如何创buildAnnotationView例子。