将BOOL值设置为NSMutableDictionary

时间:2013-09-24 05:56:15

标签: iphone ios objective-c ios5

我想将一个BOOL值设置为 true false 格式为NSMutableDictionary(将用作API请求的JSON字典)。我尝试了以下两种方法。但这些不是API请求的正确格式(API需要BOOL值为true / false类型而不是1/0)。

BOOL isDefault = YES;
[dicTemp setValue:[NSString stringWithFormat:@"%c", isDefault] forKey:@"is_default"];

//[dicTemp setValue:[NSNumber numberWithBool:isDefault] forKey:@"is_default"];

任何人都可以有想法

1 个答案:

答案 0 :(得分:49)

BOOL可以包含在NSNumber对象中:

dicTemp[@"is_default"] = @YES;

(此代码使用新的Objective-C Literals syntax)。

如果你是老式的(没有错),那么上述说法与:

[dicTemp setObject:[NSNumber numberWithBool:YES]
            forKey:@"is_default"];

稍后测试:

NSNumber *numObj = dicTemp[@"is_default"];
if ([numObj boolValue]) {
    // it was YES
}