Respostas:
Aqui está como eu faço:
BOOL flag = YES;
NSLog(flag ? @"Yes" : @"No");
?:
é o operador condicional ternário do formulário:
condition ? result_if_true : result_if_false
Substitua as seqüências de log reais de acordo, quando apropriado.
Os booleanos nada mais são do que números inteiros, são apenas valores do tipo cast ...
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
BOOL value = YES;
NSLog(@"Bool value: %d",value);
Se a saída for 1, SIM caso contrário NÃO
signed char
. Sua expressão pode ser avaliada incorretamente se um valor diferente de 0 ou 1 for fornecido.
Observe que no Swift, você pode simplesmente fazer
let testBool: Bool = true
NSLog("testBool = %@", testBool.description)
Isso registrará testBool = true
print()
.
Embora essa não seja uma resposta direta à pergunta de Devang, acredito que a macro abaixo pode ser muito útil para pessoas que desejam registrar BOOLs. Isso fará o logout do valor do bool e o rotulará automaticamente com o nome da variável.
#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
O FixIt da Apple forneceu% hhd, o que me deu corretamente o valor do meu BOOL.
Podemos verificar por quatro maneiras
A primeira maneira é
BOOL flagWayOne = TRUE;
NSLog(@"The flagWayOne result is - %@",flagWayOne ? @"TRUE":@"FALSE");
A segunda maneira é
BOOL flagWayTwo = YES;
NSLog(@"The flagWayTwo result is - %@",flagWayTwo ? @"YES":@"NO");
A terceira maneira é
BOOL flagWayThree = 1;
NSLog(@"The flagWayThree result is - %d",flagWayThree ? 1:0);
O quarto caminho é
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);
No Swift, você pode simplesmente imprimir um valor booleano e ele será exibido como true
ou false
.
let flag = true
print(flag) //true
Aqui está como você pode fazê-lo:
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"));
#define StringFromBOOL(b) ((b) ? @"YES" : @"NO")