जवाबों:
आप NSNumber का उपयोग करें।
इसमें init ... और नंबर ... तरीके हैं जो बूलियन्स को लेते हैं, जैसे कि यह पूर्णांक और इतने पर करता है।
से NSNumber वर्ग संदर्भ :
// Creates and returns an NSNumber object containing a
// given value, treating it as a BOOL.
+ (NSNumber *)numberWithBool:(BOOL)value
तथा:
// Returns an NSNumber object initialized to contain a
// given value, treated as a BOOL.
- (id)initWithBool:(BOOL)value
तथा:
// Returns the receiver’s value as a BOOL.
- (BOOL)boolValue
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], @"someKey", nil];
@YES
के रूप में ही है[NSNumber numberWithBool:YES]
यदि आप इसे शाब्दिक घोषित कर रहे हैं और आप clang v3.1 या इसके बाद के संस्करण का उपयोग कर रहे हैं, तो यदि आप इसे शाब्दिक घोषित कर रहे हैं तो आपको @NO / @ का उपयोग करना चाहिए। उदाहरण के लिए
NSMutableDictionary* foo = [@{ @"key": @NO } mutableCopy];
foo[@"bar"] = @YES;
उस पर अधिक जानकारी के लिए:
NSDictionary
, न कि एक NSMutableDictionary
। इसलिए यह निर्दिष्ट @YES
करना foo[@"bar"]
संभव नहीं है क्योंकि @{ @"key": @NO }
पारस्परिक रूप से संभव नहीं है ।
जैसा कि jcampbell1 ने बताया है, अब आप NSNumbers के लिए शाब्दिक वाक्य रचना का उपयोग कर सकते हैं:
NSDictionary *data = @{
// when you always pass same value
@"someKey" : @YES
// if you want to pass some boolean variable
@"anotherKey" : @(someVariable)
};
इसे इस्तेमाल करे:
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'");
}
उत्पादन निम्नानुसार होगा:
बुलियन ' प्रतीक ' के लिए TRUE है
बुलियन 'के लिए FALSE है सचिन ' के
[NSNumber numberWithBool:NO]
और [NSNumber numberWithBool:YES]
।