2010-08-10 14 views
11

me preguntaba cuál era la diferencia entre los valores siguientes en Objective C:valores booleanos Objective C

TRUE(uppercase) - true(lowercase) - yes 
FALSE(uppercase) - false(lowercase) - no 

que son de color diferente en el IDE, hay diferentes situaciones en las que usaría los diferentes valores booleanos?

Gracias

+2

No '' YES' y NO' tiene que siempre estar en mayúsculas en Objective-C? – BoltClock

Respuesta

15

Estos valores son de color diferente, ya que se utilizan en dos tipos diferentes - BOOL y bool y son diferentes construcciones del lenguaje.

BOOL es una re-definición de la macro de signed char, lo que significa que puede tener más de dos valores, y mientras que el mapeo es NO/FALSE == 0, YES/TRUE == 1, hay que tener cuidado al escribir expresiones booleanas y tratan cualquier valor distinto de cero como verdadero. Los valores que se pueden asignar a BOOL se definen como macros y están coloreados en consecuencia.

Por otro lado, bool por el contrario es un tipo booleano verdadero y puede tener solo dos valores: true y false. Sus valores son construcciones de lenguaje nativo y están coloreados como tales.

Éstos son algunos otros de los debates sobre este tema:
Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?
Objective-C : BOOL vs bool

Cuestiones relacionadas