2010-11-17 5 views
6

J'ai la ligne de code suivante qui active le point d'arrêtMKMapView écraser avec EXC_BAD_ACCESS

[mapView addAnnotations:grabinstance.itemArray]; 

Ce plantage au hasard. grabinstance.itemArray est toujours rempli et ne change jamais à ce moment-là car ce bit n'est appelé qu'une fois que le tableau est plein. Cette fois, cela a été confirmé comme 323 éléments dans le tableau.

NSZombieEnabled ne trouve rien du tout non plus.

La trace arrière est ci-dessous et la ligne 1154 est la ligne ci-dessus.

#0 0x0126a372 in _insert() 
#1 0x0126a312 in _splitNode() 
#2 0x0126a3b7 in _insert() 
#3 0x011db253 in -[MKAnnotationContainerView addAnnotation:]() 
#4 0x011dfc2e in -[MKAnnotationContainerView addAnnotations:]() 
#5 0x011b0b30 in -[MKMapView addAnnotations:]() 
#6 0x00009257 in -[BigViewController plotItems] (self=0x614de90, _cmd=0x16464f) at /Users/zzzz/Documents/iPhone Projects/BigProject/Classes/BigViewController.m:1154 
#7 0x005336c1 in _nsnote_callback() 
#8 0x01c18f99 in __CFXNotificationPost_old() 
#9 0x01b9833a in _CFXNotificationPostNotification() 
#10 0x00529266 in -[NSNotificationCenter postNotificationName:object:userInfo:]() 
#11 0x00024071 in -[ItemGrabber parserDidEndDocument:] (self=0x617b540, _cmd=0x689aa3, parser=0xf6b4ab0) at /Users/zzzz/Documents/iPhone Projects/BigProject/Classes/ItemGrabber.m:267 

Répondre

4

Bug rapporté à Apple et comme cela a été reconnu

+0

Toutes les mises à jour sur ce bug ? Y a-t-il un lien radar ouvert? – Kevin

1

J'ai eu le même problème et je l'ai fixé, le problème était avec mes emplacements, les objets du tableau peuvent ne pas contenir d'autres emplacements valides, ils peuvent être des valeurs de déchets

9

Vous devriez vérifier vos annotations à l'aide CLLocationCoordinate2DIsValid():

if (CLLocationCoordinate2DIsValid(place.coordinate)) { 
    [_mapView addAnnotation:place]; 
} else { 
    NSLog(@"place %@ has invalid coordinates", place.name); 
} 
+0

Merci mon pote. mais je suis toujours confus. Depuis que mon application s'est écrasée la 2ème fois quand j'ajoutais des annotations avec de mauvaises co-oridinates et pas la 1ère fois. Une raison particulière pour cela? –

+0

@SamyagShah Les bogues liés à la mémoire sont souvent imprévisibles comme ça. – devios1