有时候我们可能会定义一个
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);
测试:
BOOL b=YES; NSLog(@"BOOL--b-->%s",b?"YES":"NO"); NSLog(@"BOOL--b-->%@",b?@"YES":@"NO"); NSLog(@"BOOL--b-->%d",b);
BOOL b=2; NSLog(@"BOOL--b-->%s",b?"YES":"NO"); NSLog(@"BOOL--b-->%@",b?@"YES":@"NO"); NSLog(@"BOOL--b-->%d",b);
BOOL b=NO; NSLog(@"BOOL--b-->%s",b?"YES":"NO"); NSLog(@"BOOL--b-->%@",b?@"YES":@"NO"); NSLog(@"BOOL--b-->%d",b);
BOOL b=-1; NSLog(@"BOOL--b-->%s",b?"Y
ES":"NO"); NSLog(@"BOOL--b-->%@",b?@"YES":@"NO"); NSLog(@"BOOL--b-->%d",b);
正在学习过程中,错误之处请指正,欢迎交流,共同学习;
欢迎转载分享,请注明出处http://blog.csdn.net/duxinfeng2010
本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1208691,如需转载请自行联系原作者