mapViewDidFailLoadingMap delegate method gets called with error == 0

▼魔方 西西 提交于 2019-12-12 10:03:59

问题


In my viewcontroller, I create a MKMapView object. I set the delegate to self, and in the ViewController, I implemented:

- (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error 

This method gets called, but in the debugger, I see that error has the value 0x0

This happens on the device, and in the simulator.

I need the error code, as I want to give a message for the case where internet access is unavailable, while ignoring the cases like (from the API doc) "if a request for additional map tiles comes in while a previous request for tiles is still pending" (which doesn't seem like a failure to me)


回答1:


I just did some testing.

  1. Internet is off: [error description] = Error Domain=NSURLErrorDomain Code=-1009 UserInfo=0x46c6120 "no Internet connection"
  2. Scrolling around too quickly: error = nil (0x0)

I don't know if there are any other error conditions, but at least you can discriminate between an internet conneciton error (in which case I will display an alert) and the scrolling too quickly case, in which I'll just ignore it.



来源:https://stackoverflow.com/questions/1857958/mapviewdidfailloadingmap-delegate-method-gets-called-with-error-0

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!