Duplicar posibles:
Objective c formatting string for boolean?¿Qué especificador de formato se debe usar para BOOL?
Lo NSLog
%
-specifier se debe utilizar para ver, literalmente, YES
o NO
al imprimir un BOOL
?
Duplicar posibles:
Objective c formatting string for boolean?¿Qué especificador de formato se debe usar para BOOL?
Lo NSLog
%
-specifier se debe utilizar para ver, literalmente, YES
o NO
al imprimir un BOOL
?
BOOL var = YES;
NSLog(@"var = %@", (var ? @"YES" : @"NO"));
BOOL
es meramente un alias (typedef) para signed char
.
Los especificadores compatibles con NSLog están documentados here.
Derecha. ¿No hay una forma directa de manejarlo? :) – JAM
Esta es la forma correcta de hacerlo. – sosborn
@JAM: Los 'SÍ' y' NO' que pones en tu código son '' definir SI (BOOL) 1' y '#define NO (BOOL) 0' - no hay nada más que' caracteres firmados para ser manejado tan pronto como termine el preprocesador. –
Booleanos de Objective-C (BOOL
) son simplemente typedef
s a signed char
. Por lo tanto, no son objetos y no se manejan de forma diferente a otros números primitivos. Si no le importa ver YES
y NO
, puede simplemente imprimirlos como lo haría con cualquier otro número (con %d
, por ejemplo). Si quiere como para ver YES
y NO
, puede seguir la sugerencia de Emile.
posible duplicado de [Cadena de formato Objective c para booleano?] (Http://stackoverflow.com/questions/2603802/objective-c-formatting-string-for-boolean) y [BOOL en NSString] (http://stackoverflow.com/questions/738524/bool-to-nsstring) –
alguien ha intentado el especificador de formato% hhd para BOOL funciona bien para mí, imprime 1 para YES y 0 para NO – ViruMax