2010-11-17 13 views
6

I tiene la siguiente línea de código que activa el punto de interrupciónMKMapView estrellarse con EXC_BAD_ACCESS

[mapView addAnnotations:grabinstance.itemArray]; 

Este chocando al azar. grabinstance.itemArray está completamente lleno y nunca cambia en ese momento debido a que este código solo se llama una vez que la matriz está llena. En este momento particular, esto se confirmó como 323 elementos en la matriz.

NSZombieEnabled tampoco encuentra nada.

La traza de retroceso está abajo y la línea 1154 es la línea de arriba.

#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 

Respuesta

4

informe de error a Apple y como ha reconocido

+0

Cualquier actualización en ese error ? ¿Hay un enlace de radar abierto? – Kevin

1

que también tenía el mismo problema y me fijo, el problema estaba en mis ubicaciones, los objetos de la matriz no puede contener ubicaciones válidas, pueden ser valores de basura

9

Usted debe revisar sus anotaciones usando CLLocationCoordinate2DIsValid():

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

Gracias amigo. pero todavía estoy confundido Dado que mi aplicación se bloqueaba la segunda vez cuando estaba agregando anotaciones con coordenada parcial incorrecta y no la primera vez. ¿Alguna razón en particular para eso? –

+0

@SamyagShah Los errores relacionados con la memoria a menudo son impredecibles. – devios1