views:

178

answers:

1

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)

+2  A: 

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.

sbwoodside
Thanks. Looks like I didn't wait long enough to see a non nil error.
Alan