有办法打印值布尔标志在NSLog?


当前回答

注意,在Swift中,你可以这样做

let testBool: Bool = true
NSLog("testBool = %@", testBool.description)

这将记录testBool = true

其他回答

注意,在Swift中,你可以这样做

let testBool: Bool = true
NSLog("testBool = %@", testBool.description)

这将记录testBool = true

直接将bool值打印为整数

BOOL curBool = FALSE;
NSLog(@"curBool=%d", curBool);

- > curBool = 0

将bool类型转换为字符串

char* boolToStr(bool curBool){
    return curBool ? "True": "False";
}

BOOL curBool = FALSE;
NSLog(@"curBool=%s", boolToStr(curBool));

- > curBool =虚假

虽然这不是对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

苹果的FixIt提供了%hhd,它正确地给了我BOOL的值。

你可以这样做:

BOOL flag = NO;
NSLog(flag ? @"YES" : @"NO");