Pregunta

En mi viewcontroller, puedo crear un objeto MKMapView. Me puse el delegado a la libre, y en el ViewController, he implementado:

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

Este método se llama, pero en el depurador, veo que error tiene el valor 0x0

Esto ocurre en el dispositivo y en el simulador.

Necesito el código de error, ya que quiero dar un mensaje para el caso en que el acceso a Internet no está disponible, sin tener en cuenta los casos como (de la documentación del API) "si una solicitud de mosaicos de mapas adicionales entra mientras una solicitud anterior para baldosas aún está pendiente"(que no parece como un fracaso para mí)

¿Fue útil?

Solución

Me acabo de hacer algunas pruebas.

  1. Internet está apagado: [descripción de error] = error de dominio = Código NSURLErrorDomain = -1,009 UserInfo = 0x46c6120 "sin conexión a Internet"
  2. Desplazamiento alrededor demasiado rápido: error = nil (0x0)

No sé si hay otras condiciones de error, pero al menos se puede discriminar entre un error de Internet conneciton (en cuyo caso voy a mostrar una alerta) y el desplazamiento demasiado rápido caso, en el que sólo voy ignorarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top