2010-03-12 3 views

ответ

3

(Подразумевается, что вы объект аннотаций является экземпляром класса MyAnnotation)

MKMapView требует, чтобы ее аннотации объекты соответствуют MKAnnotation протоколу для обеспечения их выполнения некоторых необходимых методов - в противном случае приложение может привести к ошибкам в время выполнения. Этот протокол определяется следующим образом:

// MKAnnotation.h 
@protocol MKAnnotation <NSObject> 

// Center latitude and longitude of the annotion view. 
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate; 

@optional 

// Title and subtitle for use by selection UI. 
- (NSString *)title; 
- (NSString *)subtitle; 

@end 

Это ваш класс MyAnnotation должен определять и реализовывать coordinate собственности, а также может реализовать 2 дополнительных title метод. Для того, чтобы компилятор знал, что ваш класс на самом деле соответствует протоколу вы должны объявить ваш класс следующим образом:

@interface MyAnnotation: NSObject <MKAnnotation> // Or whatever parent class you have 
+0

спасибо мое первое предупреждение не здесь сейчас, но второе предупреждение при попытке удалить Pins здесь и сказать : «NSArray не реализует протокол MKAnnotation» – ludo

+0

-, .- моя ошибка. Я просто забыл положить -s в removeAnnotations – ludo

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