Supongamos que tengo un objeto que contiene algunos datos.¿Cómo puedo ver los valores de Object en NSLog?
¿Cómo puedo ver esos datos usando NSLog?
Si alguien no tiene claro mi pregunta, puede volver a preguntarme.
Supongamos que tengo un objeto que contiene algunos datos.¿Cómo puedo ver los valores de Object en NSLog?
¿Cómo puedo ver esos datos usando NSLog?
Si alguien no tiene claro mi pregunta, puede volver a preguntarme.
Si desea ver un NSArray y NSDictionary y objetos, etc. entonces usted puede imprimir directamente como NSLog(@"%@",object);
Si se trata de un objeto definido por el usuario, entonces usted necesita para mostrar llamando a la propiedad (atributo).
objeto definidousuario con el nombre de objeto y propiedades como
NSString *property1;
int property2;
NSMutableArray *property3;
los imprimen en la consola de la siguiente manera:
NSLog(@"%@, %d, %@" object.property1,object.property2,object.property3);
NSLog(@"My object data:%@",[myObj someData]);
NSLog(@"My object Other data:%@",[myObj someOtherData]);
O directamente:
NSLog(@"%@",myObj);
NSLog(@"Description:%@",[myObj description]);
Yo sugeriría siguientes:
Objetos:
Para objetos como diccionario, Array, cuerdas hacerlo como:
NSLog(@"%@", object);
Para tipos de datos básicos como números enteros
NSLog(@"%i",intVal);
Para la codificación de tipo debe ver http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html
Si implementa el método -(NSString*)description
en su clase, puede usar NSLog
para generar un resumen de los datos. Por supuesto, también puede generar directamente cualquier propiedad.
Por ejemplo:
NSLog (@"%@ %d", object, object.integer);
La primera parte llama al método y salidas description
que; la segunda parte obtiene el valor de la propiedad entera del objeto y lo genera.
Sabía que tenía que implementar una función para imprimirlo. Esto es exactamente lo que estoy buscando. Upvoted. ¡Gracias! –
Además de la respuesta de Satya, si desea ver tipos de datos c básicos, use los especificadores de formato. Tal como% d para un entero:
NSLog (@"My integer:%d", myObject.myInteger);
La lista completa está aquí:
todos los objetos Objective-C (esto viene de NSObject) tiene una propiedad llamada description
. Entonces, si quieres imprimir información sobre tu clase, este es el camino a seguir.
@implementation MyClass
- (NSString*)description
{
return [NSString stringWithFormat:@"MyClass:%@", @"This is my class"];
}
así que si haces una llamada como esta.
MyClass *myClass = [[MyClass alloc] init];
NSLog(@"%@", myClass);
NSLog(@"%@", [myClass description]); //Same as the line above
Luego se escribirá "MyClass:This is my class"
a la consola (en este caso se imprimirá dos veces).
Implemento description
de la clase dada.
-(NSString*)description
{ return [NSString stringWithFormat:@"<%@> name: `%@` size: `%@`", NSStringFromClass(self), self.name, NSStringFromCGSize(self.size)]; }
NSLog(@"%@", object); // <Object> name: `Harry` size: `{2, 2}`
Esta es la respuesta correcta imo. – RegularExpression
Utilice esta clase https://github.com/arundevma/ICHObjectPrinter
NSLog(@"Object description is %@",[ICHObjectPrinter descriptionForObject:person]);
lo son propiedades se publican? –
@Veer: verifique el editado – Satya