我在viewcontroller中实现了 CLLocationManagerDelegate ,我收到以下警告
'locationManager(_:didUpdateLocations :)'的参数有所不同 协议'CLLocationManagerDelegate'
预期的可选性'locationManager(_:didFailWithError :)'的参数有所不同 协议'CLLocationManagerDelegate'
预期的可选性'locationManager(_:didChangeAuthorizationStatus :)'的参数有 与协议预期的不同选择性 'CLLocationManagerDelegate'
据我所知 “ 参数的可选性(变量是否可选)与原始协议方法定义中的不同 “
但是我找不到原件和我之间的任何区别。
这是
在协议定义中
optional public func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
optional public func locationManager(manager: CLLocationManager, didFailWithError error: NSError)
optional public func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus)
在我的协议实施中
func locationManager(manager: CLLocationManager,
didUpdateLocations locations: [CLLocation])
func locationManager(manager: CLLocationManager,
didFailWithError error: NSError)
func locationManager(manager: CLLocationManager,
didChangeAuthorizationStatus status: CLAuthorizationStatus)
我的xcode版本是7.1.1
那么有人可以解释为什么会出现这些警告吗?
答案 0 :(得分:1)
重新启动xcode解决了这个问题...有时候事情很奇怪