1
我有一個警告「MyAnnotation沒有實現MKAnnotation協議」每次我用這個:MyAnnotation沒有實現MKAnnotation協議
[mapView addAnnotation:annotation];
or
[mapView removeAnnotation:mapView.annotations];
有人有一個想法?
我有一個警告「MyAnnotation沒有實現MKAnnotation協議」每次我用這個:MyAnnotation沒有實現MKAnnotation協議
[mapView addAnnotation:annotation];
or
[mapView removeAnnotation:mapView.annotations];
有人有一個想法?
(假設你註釋對象是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
感謝我的第一個警告現在不在這裏,但第二次警告,它說:「NSArray沒有實現MKAnnotation協議」 – ludo
- , - 我錯誤的忘記了 - 刪除註釋 – ludo