Enviando 'MKOverlayView a parámetro de tipo incompatible' id <MKOverlay> '

Recibo la siguiente advertencia al agregar superposiciones a la vista de mi map:

Sending 'MKOverlayView *const __strong' to parameter of incompatible type 'id<MKOverlay>' 

El código funciona muy bien, y las superposiciones se dibujan como deberían, pero me encantaría deshacerme de la advertencia. El código que lo está causando:

 for(MKOverlayView *overlay in [mapView overlays]) { [mapView removeOverlay:overlay]; } 

(Obviamente, la línea dentro del bucle for es lo que está generando este error) Google no tiene un solo resultado para ese error. solo similar con MKAnnotationView, por ejemplo. Las soluciones allí (por ejemplo):

 for(id<MKOverlay> *overlay in [mapView overlays]) { [mapView removeOverlay:overlay]; } 

plantea un error

¿Algunas ideas? ¡Gracias!

La propiedad de overlays devuelve una matriz de objects de model de superposition (los objects que se ajustan al protocolo MKOverlay ) y no las vistas de superposition.

Por lo tanto, cambie el bucle for a:

 for(id<MKOverlay> overlay in [mapView overlays]) { 

Tenga en count que no hay un asterisco en la parte de id<MKOverlay> overlay .