如何解决如何在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\"));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。