无法识别的选择器已发送到实例? [英] Unrecognized selector sent to instance?
本文介绍了无法识别的选择器已发送到实例?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何解决此类错误: 无法识别的选择器已发送到实例?
How to fix such an error: unrecognized selector sent to instance ?
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
谢谢.
推荐答案
您可能正在initWithCoordinate:...
方法中执行以下操作:
You are probably doing something like this in the initWithCoordinate:...
method:
self.coordinate = c;
这不是一个简单的任务,它调用的方法(属性设置器setCoordinate:
)不存在,并且以异常结束.
This is not a simple assignment, this is calling a method (property setter setCoordinate:
) which is not there and it ends in exception.
修复编译器警告!
这篇关于无法识别的选择器已发送到实例?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文