0

問題に関連する私のコード:

注釈 .h ファイル

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>   

@interface CityAnnotation : NSObject <MKAnnotation> {
    NSString *name;
    NSString *country;
    CLLocationCoordinate2D coords;
}

@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSString  *country;
@property (nonatomic,assign) CLLocationCoordinate2D coords;

-(id)initWithTitle:(NSString *)cityname AndCountry:(NSString *)countryname AndCoords: (CLLocationCoordinate2D)coordinate;


@end

注釈 .m ファイル

#import "CityAnnotation.h"

@implementation CityAnnotation

@synthesize name,country,coords;

-(id)initWithTitle:(NSString *)cityname AndCountry:(NSString *)countryname AndCoords:(CLLocationCoordinate2D)coordinate
{
    self  = [super init];
    if (self){
    self.name = cityname;
    self.country = countryname;
    self.coords = coordinate;
    }
    return self;

}

@end

私のマップビューへのインポート:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import "tableViewController.h"
#import "City.h"
#import "CityAnnotation.h"

ビュー コントローラーでの注釈の追加。ここでエラーが発生します[self.mapView addAnnotation:newAnnotation];

- (void)viewDidLoad
{
    [super viewDidLoad];
    CityAnnotation *newAnnotation = [[CityAnnotation alloc]initWithTitle:self.SelectedCity.name AndCountry:self.SelectedCity.country AndCoords:self.SelectedCity.location];
    [self.mapView addAnnotation:newAnnotation];


}

このエラーが発生しています:

-[CityAnnotation coordinate]: unrecognized selector sent to instance 0x85c7d70
2013-06-17 12:15:57.694 JsonTest[1769:c07] *** Terminating app due to uncaught exception     'NSInvalidArgumentException', reason: '-[CityAnnotation coordinate]: unrecognized selector     sent to instance 0x85c7d70'
4

1 に答える 1

6

クラスCityAnnotationは、という名前のプロパティ/メソッドを提供する必要がありますcoordinate。詳細については、MKAnnotation プロトコル リファレンスを参照してください。

coordsプロパティの名前を に変更するだけで、問題を解決できる場合がありますcoordinate

于 2013-06-17T18:41:07.567 に答える