将'MapAnnotation * __ strong'发送到不兼容类型'id <mkannotation>'</mkannotation>的参数

时间:2011-12-08 12:33:05

标签: iphone

我在下面提到的一行中收到警告:

[self.mapView addAnnotation:addressAnnotation];

警告是:

Sending 'MapAnnotation *__strong' to parameter of incompatible type 'id<MKAnnotation>'

由于我提到了类似的帖子,我必须提一下,这个类的头文件包含<MKAnnotation>,并且MapAnnotation类的前向声明也可用。

请建议。

2 个答案:

答案 0 :(得分:37)

要摆脱警告,您有两种选择:

  1. @interface语句中声明self类(无论该类是什么),以符合协议。

  2. 通过更改以下内容来取消警告:

    [self.mapView addAnnotation:addressAnnotation];

    到此:

    [self.mapView addAnnotation:(id)addressAnnotation];

答案 1 :(得分:0)

我的解决方案是为addAnnotation添加“s”。

[self.mapView addAnnotations:addressAnnotation];