0
カスタムMKAnnotationViewが実装されていて、ARCを有効にする前に正しく機能していました。 initWithAnnotation方法は、このように実装されました:ARCを有効にした後でカスタムMKAnnotationViewが機能しなくなった
- (id)initWithAnnotation:(id <MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier
{
self.hasBuiltInDraggingSupport = [[MKAnnotationView class] instancesRespondToSelector:NSSelectorFromString(@"isDraggable")];
if (self.hasBuiltInDraggingSupport)
{
MKPinAnnotationView *pinAnnView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuseIdentifier];
self = (AnnotationView*)pinAnnView;
if (self)
[self performSelector:NSSelectorFromString(@"setDraggable:") withObject:[NSNumber numberWithBool:YES]];
}
self.canShowCallout = YES;
return self;
}
ARCを有効にした後、私は次の行にEXC_BAD_ACCESSを受け取るために始めた:
self = (AnnotationView*)pinAnnView;
現在、私は何が起こるかわかりません。
私は、カスタムコードを作成する方法の例からこのコードを取りました。 ARCを有効にするまではうまくいきました。しかし、しばらくすると、私はそれを "self =(AnnotationView *)pinAnnView"を "self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifyer]"に置き換えて解決しました – Misha