Objective-C打印BOOL型变量
有时候我们可能会定义一个
BOOL b;
b=YES;
NSLog(@"BOOL--b-->%@",b);
然后运行程序就会崩溃,这是因为%@打印的是一个对象,BOOL是一个数据类型。
使用%@要求对应的参数必须是一个对象,并且还实现对象的description方法,
这样就可以打印出对象的内容了。 NSLog其实也就是调用该对象的description方法。
怎样打印BOOL型数据呢?
c语言字符串形式输出
1.NSLog(@"BOOL--b-->%s",b?"YES":"NO");
转换成NSString对象输出
2.NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");
BOOL型YES表示非0条件下,NO表示0,
3.NSLog(@"BOOL--b-->%d",b);
测试:
[cpp]
BOOL b=YES;
NSLog(@"BOOL--b-->%s",b?"YES":"NO");
NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");
NSLog(@"BOOL--b-->%d",b);
[cpp]
BOOL b=2;
NSLog(@"BOOL--b-->%s",b?"YES":"NO");
NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");
NSLog(@"BOOL--b-->%d",b);
[cpp]
BOOL b=NO;
NSLog(@"BOOL--b-->%s",b?"YES":"NO");
NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");
NSLog(@"BOOL--b-->%d",b);
[cpp]
BOOL b=-1;
NSLog(@"BOOL--b-->%s",b?"YES":"NO");
NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");
NSLog(@"BOOL--b-->%d",b);
补充:软件开发 , C语言 ,