Domanda

Nel mio viewcontroller, creo un oggetto MKMapView. Ho impostato il delegato per sé, e nel ViewController, ho implementato:

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

Questo metodo viene chiamato, ma nel debugger, vedo che error ha il valore di 0x0

Questo accade il dispositivo, e nel simulatore.

Ho bisogno del codice di errore, come voglio dare un messaggio per il caso in cui l'accesso a Internet non è disponibile, ignorando i casi come (dal doc API) "se la richiesta di piastrelle di mappe aggiuntive viene in mentre una precedente richiesta per piastrelle è ancora in attesa"(che non sembra come un fallimento per me)

È stato utile?

Soluzione

Ho appena fatto alcuni test.

  1. Internet è spento: [descrizione dell'errore] = errore di dominio = Codice NSURLErrorDomain = -1009 UserInfo = 0x46c6120 "alcuna connessione a Internet"
  2. Scorrimento in giro troppo in fretta: error = nil (0x0)

Non so se ci sono altre condizioni di errore, ma almeno si può discriminare tra un errore internet conneciton (nel qual caso verrà visualizzato un avviso) e lo scorrimento troppo velocemente caso, in cui mi limiterò a ignorarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top