En Cocoa, no hay ningún "volcado" como print_r de PHP o python repr ya que no hay un formato de texto que "represente" un objeto como en esos idiomas. Si utiliza
NSLog(@"%@", myObj);
o
NSString *stringRep = [NSString stringWithFormat:@"%@",myObj];
o
NSString *stringRep = [myObj description];
obtendrá (conectado a la consola en el primer caso), el resultado de [myObj description]
, un método definido en NSObject
de el propósito de imprimir una descripción (no un volcado) de un objeto.
Si invoca po myObj
en gdb, obtiene [myObj debugDescription]
(a menudo lo mismo que , pero no siempre).
Las clases como NSArray
y NSDictionary
y NSData
anulación description
para imprimir una descripción recursiva bastante útil de su contenido, pero por defecto [NSObject description]
imprime sólo el valor del puntero correspondiente a la instancia.
Si controla el código para los tipos en cuestión, puede anular sus métodos description
o debugDescription
para devolver lo que desee. De lo contrario, puede anular el método description
o debugDescription
usando una categoría, o usar una categoría para definir un myDebugDescription
o alguno que pueda invocar desde gdb usando po [myObj myDebugDescription]
.
Ver http://stackoverflow.com/questions/2299841/objective-c-introspection-reflection – neoneye
práctico: '[recursiveDescription myview]' – Jonny