在我的项目中,我有一个我添加注释的MapView。我需要这些注释有不同的图像,所以我使用- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
方法。但是,要实现此功能,我需要将MapView的委托设置为self
。所以我在viewDidLoad
函数中使用了这一行:
self.viewMap.delegate = self;
这可以正常工作,但XCode警告我这条消息:
Assigning to 'id<MKMapViewDelegate>' from incompatible type 'ViewController *const__strong'
我猜我不会以正确的方式解决这个问题,这就是为什么会有警告的原因。那么我做错了什么?
答案 0 :(得分:3)
您的ViewController
类 - 您可能会考虑将其重命名为更具描述性的类 - 需要在其界面中声明与MKMapViewDelegate
的一致性:
@interface ViewController : UIViewController <MKMapViewDelegate>
// stuff
@end