我想将BOOL值设置为NSMutableDictionary(将用作API请求的JSON词典),并将其设置为 true false 格式。我尝试了以下两种方法。但是这些不是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"];

任何人都可以有想法

最佳答案

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
}

10-08 05:50