1

Lorsque j'ouvre MapView avec navigationcontroller dans une nouvelle vue, sans attendre le chargement de la carte, puis en cliquant sur le bouton Précédent - une exception est levée. Quelqu'un peut-il confirmer cela? Qu'est-ce qu'un work-around?Bug dans MKMapView?

Répondre

4

Libérez-vous la carte lors de la libération de votre contrôleur de navigation?

Il se peut que mapview envoie un message à son délégué (votre contrôleur de navigation), après que le délégué a été libéré. Essayez de définir le délégué mapview sur zéro avant de le relâcher.

1

J'ai eu cette erreur exacte.

Cela est causé par certaines des méthodes déléguées dans votre classe, une fois que vous faites éclater cette classe et la carte est occupée à faire des choses, elle essaie d'appeler la classe qui a quitté la mémoire.

J'ai simplement ajouté

- (void)dealloc 
{ 
    // release the map delegate otherwise it will try and call our classes with no data. 
    // map for me is my MKMapView 
    map.delegate = nil; 
    [super dealloc]; 
}