как использовать MKAnnotation - PullRequest
       14

как использовать MKAnnotation

1 голос
/ 25 февраля 2012

У меня возникли проблемы при использовании MKAnnotation, я хочу добавить аннотацию в MapView, поэтому я создаю класс с именем AdoptingAnAnnotation, файл .h следует за #import #import

@interface  AdoptingAnAnnotation: NSObject {
}

@synthesize latitude; 
@synthesize longitude;

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
- (NSString *) title;
- (NSString *) subtitle;
@end

и .m файл следующий

#import "AdoptingAnAnnotation.h"

@implementation AdoptingAnAnnotation

@synthesize latitude;
@synthesize longitude;

- (id) initWithLatitude:(CLLocationDegrees) lat longitude:(CLLocationDegrees) lng {
    latitude = lat;
    longitude = lng;
    return self;
   }
- (CLLocationCoordinate2D) coordinate {
    CLLocationCoordinate2D coord = {self.latitude, self.longitude};
    return coord;
    }
- (NSString *) title {
    return @"217 2nd St";
    }
- (NSString *) subtitle {
    return @"San Francisco CA 94105";
    }
@end

Получите сообщение об ошибке типа illegal interface qualifier Является ли моя синтаксическая ошибка или другая ошибка в MKAnnotation?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2012

Ваши операторы @synthesize принадлежат реализации класса, а не интерфейсу. Вот почему вы получаете сообщение об ошибке «Недопустимый квалификатор интерфейса». Наконец, ваш класс должен принять протокол MKAnnotation.

0 голосов
/ 25 февраля 2012

Вы дважды разместили свой .h ... отредактируйте, пожалуйста.Также у вас есть синтезаторы в вашем .h, они принадлежат .m.И убедитесь, что вы реализуете эти методы MKAnnotation.

...