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
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
To complete Philippe answer, you should make usage of litteral string introduced in XCode 4.4 with the release of Apple LLVM Compiler version 4.0.
Your code will look like this:
NSMutableArray *array = [[NSMutableArray alloc] init];
array[0] = @YES;
//Value is 1
NSLog(@"Value is %d:", [array[0] boolValue]);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With