mapViewDidFailLoadingMap delegate method gets called with error == 0
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.
- Internet is off: [error description] = Error Domain=NSURLErrorDomain Code=-1009 UserInfo=0x46c6120 "no Internet connection"
- 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.
精彩评论