2010-05-20 12 views
6

Solo tengo curiosidad, ¿hay alguna manera de imprimir mediante NSLog el contenido de una estructura?¿Salida de struct a NSLog para la depuración?

id <MKAnnotation> mp = [annotationView annotation]; 
MKCoordinateRegion region = 
MKCoordinateRegionMakeWithDistance([mp coordinate], 350, 350); 

Estoy tratando de salida de cuál está en [mp coordinate] para la depuración.

.

EDIT_001:

me lo rompió, así a menos que haya otra manera.

CLLocationCoordinate2D location = [mp coordinate]; 
NSLog(@"LAT: %f LON: %f", location.latitude, location.longitude); 

muchas gracias

Gary

+0

Cuando se trata de cualquier cosa C, 'NSLog' es más o menos lo mismo que' printf'. – shosti

Respuesta

14

Como soy consciente de que no hay forma genérica para registrar el valor struct - si usted sabe sus componentes sólo les puede conectarse de forma explícita como lo hace con CLLocationCoordinate2D. Sin embargo en su clase puede implementar -description y/o -descriptionWithLocale: método y registrar instancias de clases:

NSLog([mp description]); 
//or 
NSLog(@"%@", mp); 

También hay métodos de conveniencia para la creación de nSTRING de algunas estructuras estándar: NSStringFromCGAffineTransform, NSStringFromCGPoint, NSStringFromCGSize etc

+0

Gracias Vladimir, muy útil. – fuzzygoat

Cuestiones relacionadas