我有以下方法进行一些字符串构建,但不幸的是我遇到了将布尔值解析为我的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
。
编辑:我希望它解析为True
或False
。
答案 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