开发者

mapViewDidFailLoadingMap delegate method gets called with error == 0

开发者 https://www.devze.com 2022-12-13 14:33 出处:网络
In my viewcontroller, I create a MKMapView object. I set the delegate to self, and in the ViewController, I implemented:

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 acces开发者_StackOverflow社区s 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)


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号