我想将polyLine添加到mapView,百度mapView折线超类是BMKPolyLine,它有一个类方法:
+ (BMKPolyline *)polylineWithPoints:(BMKMapPoint *)points count:(NSUInteger)count;
我创建了一个子类BKMyPolyLine,我添加了一个@property colorString
当我得到分数并使用超类方法时:
BKMyPolyLine *myLine = [BKMyPolyLine polylineWithPoints:points count:points.count];
myLine.colorString = colorString;
和崩溃消息:
[BMKPolyline setColorString:]: unrecognized selector sent to instance 0x138266fe0'
答案 0 :(得分:1)
这不是“强制转换”(仅仅通知编译器;它不会改变实际类型) - 但是已经完成了应该返回子类的事情。听起来BMKPolyline
的{{1}}方法返回+polylineWithPoints:count:
,即使在子类上调用它也是如此。相反,您需要覆盖所谓的“指定初始化程序”,这应该在文档中标记。但是从我在网上看到的情况来看,没有记录 - 您可能(烦人地)需要查看BMKPolyline
的来源以了解如何继续。