How can I add a boolean value to a NSDictionary?


How can I add a boolean value to a NSDictionary?



Well, for integers I would use NSNumber. But YES and NO aren't objects, I guess. A.f.a.i.k. I can only add objects to an NSDictionary, right?

I couldn't find any wrapper class for booleans. Is there any?




Round speedometer with Jquery / CSS in a browser

1:



Am I using NSTimer correctly in iPhone View-based app?
You use NSNumber..
Retrieve HTTPResponse/HTTPRequest status codes iPhone SDK?
It has init...


UI iphone submit a form to javascript
and number...


How can I delay a method call for 1 second?
methods that take booleans, just as it does integers and so on..
jQuery on iPhone/Android/BlackBerry
From the NSNumber class reference:.
Will my iPhone app take a performance hit if I use Objective-C for low level code?
// Creates and returns an NSNumber object containing a  // given value, treating it as a BOOL. 


NSUserDefaults vs sqlite3
+ (NSNumber *)numberWithBool:(BOOL)value
and:.
// Returns an NSNumber object initialized to contain a // given value, treated as a BOOL. 

- (id)initWithBool:(BOOL)value
and:.
// Returns the receiver’s value as a BOOL. 

- (BOOL)boolValue


2:


The new syntax since Apple LLVM Compiler 4.0.
dictionary[@"key1"] = @(boolValue); dictionary[@"key2"] = @YES; 
The syntax converts BOOL to NSNumber, which is acceptable to NSDictionary..


3:


If you are declaring it as a literal and you are using clang v3.1 or above, you should use @NO / @YES if you are declaring it as a literal.

E.g..
NSMutableDictionary* foo = [@{ @"key": @NO } mutableCopy]; foo[@"bar"] = @YES; 
For more info on that:. http://clang.llvm.org/docs/ObjectiveCLiterals.html.


4:


As jcampbell1 pointed out, now you can use literal syntax for NSNumbers:.
NSDictionary *data = @{                       // when you always pass same value                       @"someKey" : @YES                       // if you want to pass some boolean variable                       @"anotherKey" : @(someVariable)                       }; 


5:


Try this:.
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init]; [dic setObject:[NSNumber numberWithBool:TRUE]  forKey:@"Pratik"]; [dic setObject:[NSNumber numberWithBool:FALSE] forKey:@"Sachin"];  if ([dic[@"Pratik"] boolValue]) {     NSLog(@"Boolean is TRUE for 'Pratik'"); } else {     NSLog(@"Boolean is FALSE for 'Pratik'"); }  if ([dic[@"Sachin"] boolValue]) {     NSLog(@"Boolean is TRUE for 'Sachin'"); } else {     NSLog(@"Boolean is FALSE for 'Sachin'"); } 
The output will be as following:. Boolean is TRUE for 'Pratik'. Boolean is FALSE for 'Sachin'.



82 out of 100 based on 72 user ratings 1222 reviews