#import @interface NSDateFormatterLogger : NSDateFormatter @end @implementation NSDateFormatterLogger - (BOOL)getObjectValue:(__autoreleasing id *)obj forString:(NSString *)string range:(NSRange *)rangep error:(NSError *__autoreleasing *)error { NSLog(@"%@ called", NSStringFromSelector(_cmd)); return [super getObjectValue:obj forString:string range:rangep error:error]; } @end int main(int argc, const char * argv[]) { @autoreleasepool { NSString * dateString = @"2012-08-16T16:20:52.619000+00:00"; NSDateFormatterLogger *df = [NSDateFormatterLogger new]; [df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"]; NSLog(@"%@", [df dateFromString:dateString]); } return 0; }