Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective C override %@ for custom objects

I'd like to override the default print function in NSLog for custom objects;

For example:

MyObject *myObject = [[MyObject alloc] init];
NSLog(@"This is my object: %@", myObjcet);

Will print out:

This is my object: <MyObject: 0x4324234>

Is there a function I override in MyObject to print out a prettier description?

Cheers! Nick.

like image 866
Nick Cartwright Avatar asked May 27 '10 12:05

Nick Cartwright


1 Answers

Just implement the description method.

- (NSString *)description {
     return @"MyCustomDescription";
}

This is the method used to print an instance.

like image 149
Laurent Etiemble Avatar answered Oct 03 '22 01:10

Laurent Etiemble