Objective-C打印BOOL型变量

来源:互联网 发布:同济大学软件工程学院 编辑:程序博客网 时间:2024/05/21 09:47

有时候我们可能会定义一个 

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?"YES":"NO");    NSLog(@"BOOL--b-->%@",b?@"YES":@"NO");    NSLog(@"BOOL--b-->%d",b);




正在学习过程中,错误之处请指正,欢迎交流,共同学习;

欢迎转载分享,请注明出处http://blog.csdn.net/duxinfeng2010




原创粉丝点击