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
No '' YES' y NO' tiene que siempre estar en mayúsculas en Objective-C? – BoltClock