0

このようなエラーを修正する方法: 認識されないセレクターがインスタンスに送信されましたか?

CLLocationCoordinate2D userCoordinate = userLocation.location.coordinate;
CGFloat latDelta = rand()*.035/RAND_MAX -.02;
CGFloat longDelta = rand()*.03/RAND_MAX -.015;
CLLocationCoordinate2D newCoord = { userCoordinate.latitude + latDelta, userCoordinate.longitude + longDelta };
myPoint *mp = [[myPoint alloc] initWithCoordinate:newCoord title:[NSString stringWithFormat:@"Vitaliy Home %d",i] subTitle:@"Home Sweet Home"];
[mv addAnnotation:mp]; //mv - (MKMapView *)mv

エラーはオンラインです:

myPoint *mp = [[myPoint alloc] initWithCoordinate:newCoord title:[NSString stringWithFormat:@"Vitaliy Home %d",i] subTitle:@"Home Sweet Home"];

クラス myPoint:

@interface myPoint : NSObject<MKAnnotation> {
    NSString *title;
    NSString *subTitle;
    CLLocationCoordinate2D coordinate;
}

@property (nonatomic,readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic,copy) NSString *title;
@property (nonatomic,copy) NSString *subTitle;

- (id)initWithCoordinate:(CLLocationCoordinate2D) c title:(NSString *) t subTitle:(NSString *) st;

@end

ありがとうございました。

4

2 に答える 2

2

あなたはおそらくメソッドで次のようなことをしていますinitWithCoordinate:...:

self.coordinate = c;

これは単純な代入ではありません。これは、setCoordinate:存在しないメソッド (プロパティ セッター) を呼び出しており、例外で終了します。

コンパイラの警告を修正してください!

于 2013-05-30T18:59:13.907 に答える
0

問題は、メソッドの実装が正しくないことにありました。@BrunoKoga に感謝します。

于 2013-05-30T18:59:53.690 に答える