views:

53

answers:

1

Can an NSArray hold an array of bool values?

The following code runs

BOOL b = NO;
NSMutableArray *array = [[NSMutableArray alloc] init];

[array addObject:[NSNumber numberWithBool:b]];

NSLog(@"value is %d", [array objectAtIndex:0] );

However, I don't get a value of 0 for NO as expected. Instead, this is what I get

value is 37736096

+2  A: 

Yes, just wrap the booleans in NSNumber:

BOOL b = YES;

[array addObject:[NSNumber numberWithBool:b]];

If you want to retrieve the boolean values, use this:

BOOL b = [[array objectAtIndex:i] boolValue]; 
// only if you know for sure it contains a boolean
Philippe Leybaert