How to store a BOOL as NSNumber

- by

You can create an NSNumber with a BOOL like this:

BOOL myBool = YES;
NSNumber *boolNumber = [NSNumber numberWithBool:myBool];
NSLog(@"boolNumber is %@", boolNumber); // gives 1 for YES and 0 for NO

It is technically the equivalent of creating an NSNumber with a literal @1 or @0.

To turn the NSNumber back into a BOOL use this:

BOOL anotherBool = [NSNumber numberWithBool:YES];

NSLog(@"anotherBool is %i", anotherBool); // gives 1 for YES and 0 for NO

Any NSNumber that is not zero will give a BOOL of YES when converted this way, including negative numbers.

If you enjoy my content, please consider supporting me on Ko-fi. In return you can browse this whole site witout any pesky ads! More details here.

Add your voice!

This site uses Akismet to reduce spam. Learn how your comment data is processed.