[MKAnnotationView setAnimatesDrop:]: нераспознанный селектор, отправленный экземпляру. Но почему? - PullRequest
1 голос
/ 24 мая 2011
(MKAnnotationView *) mapView:(MKMapView *)theMapView
             viewForAnnotation:(id <MKAnnotation>)annotation
{
    if ([annotation isKindOfClass: [MyLocation class] ])
    {
        MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [theMapView dequeueReusableAnnotationViewWithIdentifier:placemarkIdentifier];
        if(annotationView == nil)
        {
            annotationView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:placemarkIdentifier];
        }
        else 
        {

            annotationView.annotation = annotation;         
        }

        annotationView.enabled = YES;
        annotationView.animatesDrop = NO;
        annotationView.pinColor = MKPinAnnotationColorPurple;
        annotationView.canShowCallout = YES;
        annotationView.draggable = YES;


       return annotationView;
    }
}

[MKAnnotationView setAnimatesDrop:]: нераспознанный селектор отправлен на экземпляр. Я использую ряд классов аннотаций (MKPinAnnotationView и MKAnnotationView). Может быть, эта ошибка произошла, потому что я использую dequeueReusableAnnotationViewWithIdentifier.

1 Ответ

3 голосов
/ 24 мая 2011

Вы должны назначить разные идентификаторы для обоих типов аннотаций.В противном случае вы закончите с MKPinAnnotationView, где ожидается только MKAnnotationView и наоборот (что вы испытали здесь).

...