当前位置:编程学习 > C/C++ >>

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语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,