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).