Отправка 'MapAnnotation * __ strong' в параметр несовместимого типа 'id <MKAnnotation>'
Я получаю предупреждение в приведенной ниже строке:
[self.mapView addAnnotation:addressAnnotation];
Предупреждение:
Sending 'MapAnnotation *__strong' to parameter of incompatible type 'id<MKAnnotation>'
Так как я упоминал похожие сообщения, я должен упомянуть, что заголовочный файл этого класса включает <MKAnnotation>
, и также доступно декларативное объявление класса MapAnnotation
.
Просьба предложить.
Ответы
Ответ 1
Чтобы избавиться от предупреждения, у вас есть два варианта:
-
Объявить класс self (независимо от того, что этот класс), в его инструкции @interface
, чтобы соответствовать протоколу.
-
Подавить предупреждение, изменив это:
[self.mapView addAnnotation:addressAnnotation];
:
[self.mapView addAnnotation:(id)addressAnnotation];
Ответ 2
Решение в моем случае состояло в том, чтобы добавить "s" для addAnnotation.
[self.mapView addAnnotations:addressAnnotation];