问题是我有一个主类 : MyAnnotation
,创建它是为了在我的 mapView 上显示注释。
@interface lieuAnnotation : MyAnnotation
@property(readonly, nonatomic) UIImage *uneImage; // I cannot access this property.
@end
我创建了第二个类lieuAnnotation
,它继承自这个类,并带有一个新属性(an UIImage
)。
@interface MyAnnotation : NSObject<MKAnnotation> {
// Some variables
}
// Some methods
@end
On the map, when the pin is selected, I have set a disclosure indicator who calls the delegate method :
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
[self detailPinVue:view]; // Personnal method
}
请注意,披露指标仅针对lieuAnnotation
实例显示
所以view.annotation
应该是一个lieuAnnotation
例子。
然后我想访问我的财产:
- (void)detailPinVue:(MKAnnotationView *)view
{
[aView addSubview:view.annotation.uneImage];
}
事情是我无法访问该属性uneImage
,因为 Xcode 告诉我:
在“id”类型的对象上找不到属性“uneImage”
但在我看来,这应该是可能的!
所以我也尝试用这种方式访问它:
lieuAnnotation *anno = [[lieuAnnotation alloc] init];
anno = view.annotation;
[aView addSubview:anno.uneImage];
但它不起作用……</p>
感谢您的帮助和想法。