有一个格式说明符与布尔值一起工作吗?

我想要做这样的事情:

NSLog(@"You got: %x", booleanValue); 

其中x是说明符。 但我找不到一个! 我想避免:

 if (booleanValue) { NSLog(@"You got: YES"); } else { NSLog(@"You got: NO"); } 

有任何想法吗? 文档没有布尔说明符。 %@也没有工作。

这有两件事情可以工作:

 NSLog(@"You got: %@",booleanValue ? @"YES" : @"NO"); 

或者你可以施放:

 NSLog(@"You got: %d", (int)booleanValue); 

哪个会输出0或1

你可以把它转换为一个int并使用%d

 NSLog(@"You got: %d", (int)booleanValue); 

或者使用这样的东西:

 NSLog(@"You got: %@", booleanValue ? @"YES" : @"NO"); 

没有我知道的格式说明符。 你可以这样做:

 NSLog(@"You got: %@", (booleanValue ? @"YES" : @"NO")); 

另外,你可以使用上面的逻辑写一个BOOL函数或者macros来返回适当的string。 您可以在日志语句中使用该函数。

这里是代码:

 NSLog(@"%hhd",BOOLvariable); 

打印1为是,0打印为我工作。

对于BOOL值,可以使用格式说明符%hhd 。 例如:

 NSLog(@"You got: %hhd", booleanValue); 
Interesting Posts