How can I see values of Object in NSLog? How can I see values of Object in NSLog? objective-c objective-c

How can I see values of Object in NSLog?


If you want to see an NSArray and NSDictionary and etc objects then you can directly print like NSLog(@"%@",object);

If it is an user defined object then you need to display by calling with property (attribute).

User defined object with name object and properties like

NSString *property1;int property2;NSMutableArray *property3;

Print them in the console as follows:

NSLog(@"%@, %d, %@" object.property1,object.property2,object.property3);


If you implement the -(NSString*)description method in your class then you can use NSLog to output a summary of the data. Of course, you can also directly output any property.

For example:

NSLog (@"%@ %d", object, object.integer);

The first part calls the description method and outputs that; the second part gets the value of the integer property of object and outputs that.


Every Objective-c Object (this comes from NSObject) has a property called description. So if you want to print information about your class this is the way to go.

@implementation MyClass- (NSString*)description{   return [NSString stringWithFormat:@"MyClass:%@", @"This is my class"];}

so if you do a call like this.

MyClass *myClass = [[MyClass alloc] init];NSLog(@"%@", myClass);NSLog(@"%@", [myClass description]); //Same as the line above

Then it will write "MyClass:This is my class" to the console (in this case it will print it twice).