Meltemi
Meltemi

Reputation: 38359

String Formatting Tricks/Docs

Was reading the response by Shaggy Frog to this post and was intrigued by the following line of code:

NSLog(@"%@", [NSString stringWithFormat:@"%@:%*s%5.2f", key, padding, " ", [object floatValue]]);

I know string formatting is an age old art but I'm kinda doing the end around into Cocoa/Obj-C programming and skipped a few grades along the way. Where is a good (best) place to learn all the string formatting tricks allowed in NSString's stringWithFormat? I'm familiar with Apple's String Format Specifiers page but from what I can tell it doesn't shed light on whatever is happening with %*s or the %5.2f (not to mention the 3 apparent placeholders followed by 4 arguments) above?!?

Upvotes: 2

Views: 1134

Answers (1)

Georg Schölly
Georg Schölly

Reputation: 126105

The documentation of -stringWithFormat leads you to String Format Specifier which in turn sends you to the IEEE printf specification. That's about as much information as you'll ever want.

The only notable exception:

%@

Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise. Also works with CFTypeRef objects, returning the result of the CFCopyDescription function.

  • nil gets converted to (null), that's the reason why NSLog(@"%@", someObject) is safer than NSLog("someObject). The later might crash when someObject is nil:

You might also be interested in the wikipedia page about string formatting.

Upvotes: 2

Related Questions