Boolean Values
The single binary digit representing values 1 and 0 has had a long
history of also representing the two states of a Boolean value. For the
sake of code readability, many languages equate the constants true and false to those numeric values, respectively.
That’s how JavaScript does it, and so does current C language
practice.
But in the Objective-C world of the iOS SDK, you will more commonly
use the constants YES and NO to represent Boolean values. In Chapter 5 you saw how a Boolean value was passed as
an argument to the method that displayed a second view. In that case, the
method required a Boolean value to signify whether the transition should
be animated:
[self presentModalViewController:secondViewController animated:YES];
If you define a method that returns a Boolean value, the return type
is specified as (BOOL). You can extract
the BOOL value from an NSString or NSNumber object via the boolValue method of those classes. Although you
can get away with continuing to use true and false or 1
and 0, it’s a good idea to make your
code as Objective-C-compliant as possible. Finally, if you wish to view a
Boolean value in a format string (as in NSLog()), use the %d format specifier, which will display the
integers 1 or 0, or create a conditional operator statement that returns
more readable words, as in the following:
NSLog(@"flagValue = %@", (flagValue ? @"YES" : @"NO"));
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access