6
Swift 1.2 ben var bu:Swift 2 MKMapViewDelegate rendererForOverlay optionality
class UVC: NSViewController, MKMapViewDelegate {
// ...
// **************************************
// MARK: MapView Delegate
// **************************************
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer! {
if overlay is OSGBTiles {
return OSGBTilesRenderer(tileOverlay: overlay as! OSGBTiles)
} else if overlay is ESRI {
return ESRIRenderer(shapeFileOverlay: overlay as! ESRI)
} else if overlay is MKTileOverlay {
return MKTileOverlayRenderer(overlay: overlay)
} else {
print("Unknown overlay")
}
return nil
}
}
Swift 2
mapView:rendererForOverlay
tanımı artık
MKOverlayRenderer!
yerine
MKOverlayRenderer
dönmek için değişti ve şimdi (şaşırtıcı olmayan) bana
nil
dönmesine izin vermez
MKOverlayRenderer
, NilLiteralConvertible
değil. Ancak, (Xcode 7'de) belgelerine hala diyor ki: Harita üzerinde belirtilen bindirmeyi sunarken
Dönüş Değeri
oluşturucu kullanmak. Eğer nil döndürürseniz, belirtilen yer paylaşımı nesnesi için hiçbir içerik çizilmez.
Tanımadığım bir bindirme geçtiyse ne yapmam gerekiyor?
emin değil hangi konuşmak çalışır. Protokol işlevi hakkında konuşuyorum 'func mapView (mapView: MKMapView, rendererForOverlay yer paylaşımı: MKOverlay) -> MKOverlayRenderer!' – Grimxn
Oh üzgünüm, hatam. Bu ObjC sürümü bile sıfır olmayan bir geri dönüşü belirtir. Ben bunun cevabını aramaya devam ediyorum ... –
Aslında sadece hata # 21581742 bunun üzerine dosyalanmış. –