Primitive types, such as int, float, double, etc., can be printed in the same way that they are printed in C using printf , fprintf , etc. If you need to print class data, you can often use the NSObject (NSString *)description method to get an NSString representing object data. Here is an example ...
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString *string = [NSString stringWithFormat:@"Hello World!"]; NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0]; NSArray *array = [NSArray arrayWithObject:@"Hello There!"]; char *c_string = "Familiar ol' c string!"; int number = 3; printf("C String: %s\n",c_string); printf("Int number: %u\n", number); //In 10.5+ do not use [NSString cString] as it has been deprecated printf("NSString: %s\n", [string UTF8String]); printf("NSDate: %s\n", [date.description UTF8String]); printf("NSArray: %s\n", [array.description UTF8String]); //If you are using this information for debugging, it often useful to pass the object to NSLOG() NSLog(@"NSArray *array = \n%@", array); [pool drain]; return 0; }
Edit: I thought it would be useful to see the result when the example runs ...
C String: Familiar ol' c string! Int number: 3 NSString: Hello World! NSDate: 2010-03-12 01:52:31 -0600 NSArray: ( "Hello There!" ) 2010-03-12 01:52:31.385 printfTest[2828:a0f] NSArray *array = ( "Hello There!" )
source share