2010-03-12 9 views

Répondre

3

(Supposé que vous objet d'annotation est une instance de classe MyAnnotation)

MKMapView exige que ses objets d'annotation sont conformes à MKAnnotation protocole pour veiller à ce qu'ils mettent en œuvre certaines méthodes nécessaires - sinon votre application peut générer des erreurs dans l'exécution. Ce protocole est défini comme suit:

// 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 

C'est votre classe MyAnnotation doit définir et mettre en œuvre coordinate propriété et peut également mettre en œuvre 2 en option title méthodes. Pour laisser le compilateur savoir que votre classe est conforme effectivement à un protocole que vous devez déclarer votre classe de la façon suivante:

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

merci mon premier avertissement pas ici maintenant, mais le deuxième avertissement lorsque je tente de supprimer Pins est ici et dire : "NSArray n'implémente pas le protocole MKAnnotation" – ludo

+0

-, .- mon erreur j'oublie juste de mettre -s à supprimerAnnotations – ludo