Text Output

Using NSLog(NSString * format)

When using Cocoa objects (those subclassed from NSObject), be sure to always place @ (“at” symbol) before the output string to ensure the description for the object is sent. Otherwise, warning: passing argument 1 of 'NSLog' from incompatible pointer type is returned.

Also, using %@ for the format of any NSObject will return whatever is returned from the description method. This is great for “cowboy” coding.

// get the first string of an index
NSString *firstChar = [[NSString alloc] initWithString:[currentProductString substringToIndex:0]]; 

// report it
NSLog(@"firstChar = %@", firstChar); //  note the @ before the output string and the %@ format.

The description method can be overridden in any custom classes subclassed from NSObject.

[NSString writeToFile:...]

Selecting an encoding is required here.

// setOutput is an NSString; write to file is a class method.
NSError *writeError;
[setOutput writeToFile:[destinationFolder stringByAppendingPathComponent:[NSString stringWithFormat:@“my”TextFile.txt”]]  atomically:YES  encoding:kProjectEncoding  error:&writeError];