3

我有以下方法可以进行一些字符串构建,但不幸的是,我在将布尔值解析为我的 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);
}

我试图通过使用%cfor char 和%s字符串来解析它。两种方式都将我的布尔值输出为question mark turned upside down.

编辑:我希望它解析为Trueor False

4

2 回答 2

31

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

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

于 2012-04-30T09:28:53.290 回答
-2

编辑:对不起我的错误

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

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

        // use target variable as you prefer
于 2012-04-30T09:25:46.043 回答