mapViewDidFailLoadingMap méthode déléguée est appelée avec l'erreur == 0

StackOverflow https://stackoverflow.com/questions/1857958

  •  13-09-2019
  •  | 
  •  

Question

Dans mon viewcontroller, je crée un objet MKMapView. Je mets le délégué à soi-même, et dans le ViewController, je mis en œuvre:

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

Cette méthode est appelée, mais dans le débogueur, je vois que error a la valeur 0x0

Cela se produit sur l'appareil, et dans le simulateur.

J'ai besoin du code d'erreur, que je veux donner un message pour le cas où un accès Internet est disponible, tout en ignorant les cas comme (de l'API doc) « si une demande de tuiles de carte supplémentaires arrive alors que la demande précédente pour les carreaux est toujours en attente »(qui ne semble pas comme un échec pour moi)

Était-ce utile?

La solution

Je viens de faire quelques tests.

  1. Internet est désactivée: [description de l'erreur] = erreur Domaine = code NSURLErrorDomain = -1009 UserInfo = 0x46c6120 "pas de connexion Internet"
  2. Scrolling autour trop vite: erreur = nul (0x0)

Je ne sais pas s'il y a d'autres conditions d'erreur, mais au moins vous pouvez distinguer entre une erreur de conneciton Internet (auquel cas j'afficher une alerte) et le cas défilement trop rapide, dans lequel je vais juste l'ignorer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top