Tôi cố gắng để vẽ một polyline trên bản đồ trong Swift 2. Tất cả đều hoạt động tốt, nhưng tôi nhận được một cảnh báo cho trình biên dịch mã này:Swift 2 MKMapViewDelegate rendererForOverlay biên dịch cảnh báo
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
}
này sẽ cung cấp cho tôi một cảnh báo nói rằng 'Kết quả và thông số trong mapView (rendererForOverlay) có tùy chọn khác với dự kiến theo giao thức MKMapViewDelegate'
Bây giờ, điều này sẽ tốt, nhưng nó làm tôi thấy cảnh báo trình biên dịch hiển thị.
Nếu tôi thay đổi dòng đầu tiên để
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
bằng cách loại bỏ!, Cảnh báo sẽ biến mất nhưng tôi nhận được một lỗi rằng sự trở lại không thể bằng không và mã sẽ không biên dịch nữa.
Đây cũng là một theo dõi chủ đề này nơi cùng một vấn đề đã được nêu nhưng không có câu trả lời thỏa mãn có sẵn: Swift 2 MKMapViewDelegate rendererForOverlay optionality
bất cứ ai có thể rụng bất kỳ ánh sáng trên con đường đúng để sử dụng chức năng này ngay bây giờ ở Swift 2?
Cảm ơn.
Cảm ơn vì điều này. Điều này giúp mã hoạt động và loại bỏ các cảnh báo. –
trả lại nil là cho tôi lỗi. vậy hãy giúp tôi –