2013-07-04 2 views
1

Это ошибка, которую я получаю при добавлении аннотаций к MKMapView.Непризнанный селектор, отправленный экземпляру при добавлении аннотации в MKMapview

Я также создал пользовательский класс, который соответствует протоколу MKAnnotation с тремя @property: coordinate, title и subtitle.

enter image description here

+1

Пожалуйста, отправьте код 'viewForAnnotation:' method .. –

+0

вы попробуете мой ответ ?? попробуйте и дайте мне знать ... –

+1

Опубликуйте AnnClass.h и AnnClass.m (что-то может быть неправильным с помощью getter). Согласно изображению, кажется, вы назвали свойство координат 'coord' вместо требуемой« координаты ». – Anna

ответ

0

здесь в viewForAnnotation: методе сначала проверить, что аннотацию является какой вид класса .. проверить, что его YourCustomAnnotationClass затем зайти внутрь, а затем проверить, что это не ноль, если затем nil назначить MKAnnotationView и alloc его, а затем написать ваш код ...

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation { 
    static NSString *identifier = @"Current"; 
    if ([annotation isKindOfClass:[YourCustomAnnotationClass class]]) { /// check here that is your class annotation or not here.. 

      MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 

      if (annotationView == nil) // also check here that it is not nil if nil then alloc it 
      { 
       annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier] autorelease]; 
      } 
      /// write your code here 
    } 
    return nil; 
} 
+0

@ пользователь2549256 вы пробуете это ??? –

0

HII ребята, я обнаружил, что нелепая ошибка я сделал, я назвал свой @property для CLLocationcoordinate2D в качестве координат в моем пользовательском классе аннотаций, который не должен быть переименован потому, что он confo rms на жалобу KVO, поэтому мы должны использовать ее как

@property (неатомный, назначить) CLLocationкоординат2D координаты;

путем переименования он решил мою проблему.

Смежные вопросы