如何在NSLog中打印布尔标志?

问题描述

| 有没有一种方法可以在NSLog中打印布尔值的值?     

解决方法

        这是我的操作方法:
BOOL flag = YES;
NSLog(flag ? @\"Yes\" : @\"No\");
?:
是以下形式的三元条件运算符:
condition ? result_if_true : result_if_false
在适当的地方相应地替换实际的日志字符串。     ,        
%d
,0为FALSE,1为TRUE。
BOOL b; 
NSLog(@\"Bool value: %d\",b);
要么
NSLog(@\"bool %s\",b ? \"true\" : \"false\");
根据数据类型“ 6”的变化如下
For Strings you use %@
For int  you use %i
For float and double you use %f
    ,        布尔只不过是整数,它们只是类型转换值,例如...
typedef signed char     BOOL; 

#define YES (BOOL)1
#define NO (BOOL)0

BOOL value = YES; 
NSLog(@\"Bool value: %d\",value);
如果输出为1,则为否     ,        请注意,在Swift中,您可以
let testBool: Bool = true
NSLog(\"testBool = %@\",testBool.description)
这将记录
testBool = true
    ,        虽然这不是对Devang问题的直接答案,但我相信下面的宏对希望登录BOOL的人很有帮助。这将注销bool的值,并自动使用变量名称对其进行标记。
#define LogBool(BOOLVARIABLE) NSLog(@\"%s: %@\",#BOOLVARIABLE,BOOLVARIABLE ? @\"YES\" : @\"NO\" )

BOOL success = NO;
LogBool(success); // Prints out \'success: NO\' to the console

success = YES;
LogBool(success); // Prints out \'success: YES\' to the console
    ,        Apple的FixIt提供了%hhd,它正确地给了我BOOL的价值。     ,        我们可以通过四种方式检查 第一种方法是
BOOL flagWayOne = TRUE; 
NSLog(@\"The flagWayOne result is - %@\",flagWayOne ? @\"TRUE\":@\"FALSE\");
第二种方法是
BOOL flagWayTwo = YES; 
NSLog(@\"The flagWayTwo result is - %@\",flagWayTwo ? @\"YES\":@\"NO\");
第三种方法是
BOOL flagWayThree = 1;
NSLog(@\"The flagWayThree result is - %d\",flagWayThree ? 1:0);
第四种方法是
BOOL flagWayFour = FALSE; // You can set YES or NO here.Because TRUE = YES,FALSE = NO and also 1 is equal to YES,TRUE and 0 is equal to FALSE,NO whatever you want set here.
NSLog(@\"The flagWayFour result is - %s\",flagWayFour ? YES:NO);
    ,        
NSArray *array1 = [NSArray arrayWithObjects:@\"todd1\",@\"todd2\",@\"todd3\",nil];
bool objectMembership = [array1 containsObject:@\"todd1\"];
NSLog(@\"%d\",objectMembership);  // prints 1 or 0
    ,        在Swift中,您可以简单地打印一个布尔值,它将显示为
true
false
let flag = true
print(flag) //true
    ,        这是您可以执行的操作:
BOOL flag = NO;
NSLog(flag ? @\"YES\" : @\"NO\");
    ,        
//assuming b is BOOL. ternary operator helps us in any language.
NSLog(@\"result is :%@\",((b==YES)?@\"YES\":@\"NO\"));