(Подразумевается, что вы объект аннотаций является экземпляром класса 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
спасибо мое первое предупреждение не здесь сейчас, но второе предупреждение при попытке удалить Pins здесь и сказать : «NSArray не реализует протокол MKAnnotation» – ludo
-, .- моя ошибка. Я просто забыл положить -s в removeAnnotations – ludo