Sto cercando di disegnare una polilinea su una mappa a Swift 2. Tutto funziona bene, ma ho un avviso del compilatore per questo codice:Swift 2 MKMapViewDelegate rendererForOverlay avviso del compilatore
func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! {
if overlay is MKPolyline {
let polylineRenderer = MKPolylineRenderer(overlay: overlay)
polylineRenderer.strokeColor = UIColor.redColor()
polylineRenderer.lineWidth = 5
return polylineRenderer
}
return nil
}
Questo mi darà un avvertimento dice che 'Risultato e parametri in MapView (rendererForOverlay) hanno diverse opzionalità di quanto previsto dal protocollo di MKMapViewDelegate'
Ora, questo compilerà bene, ma mi bug che l'avviso del compilatore è che mostra.
Se cambio la prima linea a
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
rimuovendo il!, L'avviso andrà via ma ottengo un errore che il ritorno non può essere pari a zero e il codice non viene compilato più.
Questo è anche un follow-up a questo thread in cui è stato dichiarato lo stesso problema ma nessuna risposta soddisfacente è disponibile: Swift 2 MKMapViewDelegate rendererForOverlay optionality
Qualcuno può far luce sul modo corretto di utilizzare questa funzione ora a Swift 2?
Grazie.
Grazie per questo. Ciò mantiene il codice funzionante e si sbarazza degli avvertimenti. –
return nil mi dà errore. quindi aiutami –