- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试在 Swift 2 中的 map 上绘制多段线。一切正常,但我收到针对此代码的编译器警告:
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
}
这会给我一个警告说“mapView (rendererForOverlay) 中的结果和参数具有与协议(protocol) MKMapViewDelegate 预期的不同的可选性”
现在,这可以正常编译,但显示编译器警告让我很烦。
如果我把第一行改成
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
通过删除 !,警告将消失,但我得到一个错误,返回不能为 nil,代码将不再编译。
这也是该线程的跟进,其中陈述了相同的问题但没有令人满意的答案: Swift 2 MKMapViewDelegate rendererForOverlay optionality
谁能阐明现在在 Swift 2 中使用此功能的正确方法?
谢谢。
最佳答案
根据自动完成的内容,原型(prototype)看起来像这样:
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer
很明显,除了返回 return MKPolylineRenderer()
之外,您对此无能为力,而通常您会返回 nil。
对我来说,这看起来像是一个实现错误,因为这是文档中关于返回对象的内容:
The renderer to use when presenting the specified overlay on the map. If you return nil, no content is drawn for the specified overlay object.
我建议您在 Apple's bug report 中为其创建案例
关于Swift 2 MKMapViewDelegate rendererForOverlay 编译警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32452067/
我最近开始学习 objectiveC 并开始在 iOS6 中开发应用。 现在,我正在尝试将其转换为 iOS7,但遇到 MKMap 问题。 在 iOS6 中,我使用的是 viewForOverlay。
我在使用 addOverlay 和 rendererForOverlay 时遇到 MKMapView 的 MapKit 问题。正在使用 Xcode 9.1 (9B55) 的设备 (iPhone 7 i
我像这样将两个不同的 MKGeodesicPolyline 实例添加到 MKMapView CLLocation *LAX = [[CLLocation alloc] ...]; CLLocation
我正在尝试在 Swift 2 中的 map 上绘制多段线。一切正常,但我收到针对此代码的编译器警告: func mapView(mapView: MKMapView!, rendererForOver
在 Swift 1.2 中我有这个: class UVC: NSViewController, MKMapViewDelegate { // ... // **************
我正在尝试为 MapView 上的路线添加一条从位置 A 到位置 B(这是当前用户的 GPS 位置)的折线,因此路线/折线将能够从设定的位置 A 到任何位置用户当前正在(位置 B)飞行。 现在我的叠加
我创建了一个 MapViewController 类,其中的场景在 Storyboard中有一个 MKMapView。 MKMapView 有一个 mapView 到 MapViewControlle
我是一名优秀的程序员,十分优秀!