Objective-C formatting string for boolean?
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, BOOL
s are called YES
or NO
in Objective-C.
Use the integer formatter %d
, which will print either 0
or 1
:
NSLog(@"%d", myBool);
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.
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));