追加情報を保持できるようにカスタム MKAnnotation クラスを作成しようとしていますが、このエラーが発生し続けます:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [AnnotationForId setCoordinate:]: unrecognized selector sent to instance 0x16f63340'
作成方法を調べてみましたが、オンラインで見つけたものに従いましたが、なぜこのエラーが発生し続けるのか混乱しています。
これが私のカスタム注釈クラスです。
#import <MapKit/MapKit.h>
#import <UIKit/UIKit.h>
@interface AnnotationForId : NSObject <MKAnnotation >{
NSString *title;
NSString *subtitle;
CLLocationCoordinate2D coordinate;
NSInteger shopId;
}
@property(nonatomic)NSInteger shopId;
@property (nonatomic, copy) NSString * title;
@property (nonatomic, copy) NSString * subtitle;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@end
プロパティ変数を .m クラスに合成しました。
メインコントローラーでカスタムクラスを呼び出そうとします:
for(Shop *shops in feed.shops){
NSLog(@"reached");
AnnotationForId *shop = [[AnnotationForId alloc] init];
CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(shops.latitude, shops.longitude);
shop.coordinate = coords;
//[[CLLocationCoordinate2DMake(shops.latitude, shops.longtitude)]];
shop.title = shops.name;
shop.subtitle = @"Coffee Shop";
[map addAnnotation:shop];
}
これが機能しない理由についての助けは素晴らしいでしょう。ありがとう。