What formatter is used for boolean values?
EDIT:
Example: NSLog(@\" ??\", BOOL_VAL);, what is ?? ?
I created a category of NSString with this
+ (instancetype)stringWithBool:(BOOL)boolValue {
return boolValue ? @"YES" : @"NO";
}
And use it like this:
[NSString stringWithBool:boolValue];
Add this inline function to your .h file:
static inline NSString* NSStringFromBOOL(BOOL aBool) {
return aBool? @"YES" : @"NO";
}
Now you are ready to go...
NSLog(@"%@", NSStringFromBOOL(BOOL_VAL));
In Objective-C, the BOOL type is just a signed char. From <objc/objc.h>:
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
So you can print them using the %d formatter But that will only print a 1 or a 0, not YES or NO.
Or you can just use a string, as suggested in other answers.
Format strings for use with NSLog and [NSString stringWithFormat] are documented here:
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html
BOOL/bool/boolean are not even mentioned...
One way to do it is to convert to strings (since there are only two possibilities, it isn't hard):
NSLog(@" %s", BOOL_VAL ? "true" : "false");
I don't think there is a format specifier for boolean values.
I would recommend
NSLog(@"%@", boolValue ? @"YES" : @"NO");
because, um, BOOLs are called YES or NO in Objective-C.