如何将boolean解析为NSString

时间:2012-04-30 09:22:33

标签: objective-c nsstring boolean

我有以下方法进行一些字符串构建,但不幸的是我遇到了将布尔值解析为我的NSString的问题。

代码如下:

- (void)setToolOutput:(int) outputNumber state: (BOOL) value {
    NSString *str =  [NSString stringWithFormat:@"this=%i is=%c",outputNumber,value];
    NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [OutputStream write:[data bytes] maxLength:[data length]];
    NSLog(@"%@", str);
}

我尝试使用%c表示char,将%s作为字符串来解析它。两种方式都将我的布尔值输出为question mark turned upside down

编辑:我希望它解析为TrueFalse

2 个答案:

答案 0 :(得分:31)

布尔值基本上是一个整数,因此您可以使用%i来获取其十进制表示。 你通常想要的是:

NSString *booleanString = (value) ? @"True" : @"False";

答案 1 :(得分:-2)

编辑:抱歉我的错误

您还可以检查布尔值以抛出您喜欢的字符串,如“True”或“False”

        NSString *target = @"";
        if(tmp)
        {
            target = @"True";
        }
        else {
            target = @"False";
        }

        // use target variable as you prefer