8
votes

Programmation iPhone: Erreur étrange à l'aide d'un MkmapView

Je travaille sur une application iPhone, et j'ai eu ce journal étrange parfois lors de la manipulation d'une carte:

ImageIO_Free: ptr 0xdf0f000 got double released??? (16384 bytes)


0 commentaires

5 Réponses :


0
votes

Il s'agit probablement d'un avertissement que le même objet a envoyé l'objet imageOo_free une version supplémentaire qu'il a envoyé un conserver explicite ou implicite. Imageio_free est surveillé et meurt ensuite de manière inattendue l'accident.


0 commentaires


0
votes

J'ai ce problème au hasard aussi ...

imageo_free: PTR 0xd700000 a le double libéré ??? (16384 octets) hachage: 0

Je ne sais pas comment corriger. Semble être un problème avec le cadre.


0 commentaires

4
votes

Il y a un seul fil sur les forums de développeur Apple qui diffuse un peu plus de lumière sur ceci: " Kit de carte accident connexe? "

L'individu qui a répondu à la poste a des informations de diagnostic beaucoup plus détaillées et montre que le crash se passe dans un fil séparé, mais il ne reprogeait pas de threads pouvant entraîner le comportement / l'accident qu'il obtient.

Vous devriez Fichier un bug avec Apple .


0 commentaires

0
votes

Cela vient de me passer et je crois que j'ai la réponse.

Le problème semble être d'ajouter des annotations à une vue de carte. Il semble que lorsque vous appelez "Addannotations" sur une instance MkapView, l'objet MKMAPView ne conserve pas ces objets. Ainsi, après avoir joué avec la carte et déplacez les annotations dans et hors de vue, lorsqu'il arrive le temps de reformuler les annotations, la mémoire a été publiée et vous obtenez une erreur Exc_bad_access. P>

Pour résoudre ce problème, retenez simplement les objets pour ajouter comme annotations. Cela peut être accompli en ayant une variable d'instance NSMutableArraRay des annotations actuelles des cartes. Chaque fois que vous appelez les aadanotations, ajoutez également ces objets à ce tableau retenu et vous devez être tous définis. P>

dans votre fichier .h Fichier: P>

if (self.feeds == nil) {
  self.feeds = [NSMutableArray array];
}
[self.feeds addObjectsFromArray:newPois]; // newPois is an array of annotations
[mapView addAnnotations:newPois];


0 commentaires