ios - 发送到实例的无法识别的选择器?

标签 ios objective-c mapkit

如何修复这样的错误: 无法识别的选择器发送到实例?

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"];

我的点类:

@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

谢谢。

最佳答案

您可能在 initWithCoordinate:... 方法中执行类似的操作:

self.coordinate = c;

这不是一个简单的赋值,这是调用一个不存在的方法(属性 setter setCoordinate:),它以异常结束。

修复编译器警告!

关于ios - 发送到实例的无法识别的选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843675/

相关文章:

ios - 来自 plist 的动画图像

ios - 在同一个 NavigationController 下的两个 ViewController 之间翻转

objective-c - 将 Swift 桥接到 React-Native 时得到 "is not a recognized Objective-C method"

iOS HACClusterMapViewController 注释更改

objective-c - iOS 5 开发者过渡指南?

iphone - 如何更改 iOS 上后退按钮的位置?

objective-c - 带有 PXListView 的可变高度 NSTextField

ios - UIPageViewController 索引错误

ios - 如何访问 MKPolygon 的数据点?

json - 注释未显示在 map 上