类 – (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
例子。