Questi valori sono colorati in modo diverso, in quanto sono utilizzati in due diverse tipologie - BOOL
e bool
e sono diversi costrutti del linguaggio.
BOOL
è una ri-definizione di macro di signed char
, il che significa che può avere più di due valori, e mentre la mappatura è NO
/FALSE
== 0, YES
/TRUE
== 1, bisogna stare attenti quando si scrive espressioni booleane e considera qualsiasi valore diverso da zero come vero. I valori che possono essere assegnati a BOOL
sono definiti come macro e vengono colorati di conseguenza.
Nel frattempo, bool
d'altra parte è un tipo booleano vero e può avere solo due valori - true
e false
. I suoi valori sono costrutti del linguaggio nativo e sono colorati in quanto tali.
Ecco alcuni altri SO discussioni di questo tema:
Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?
Objective-C : BOOL vs bool
fonte
2010-08-10 18:53:24
Non '' affermativa e NO' devono sempre essere maiuscolo in Objective-C? – BoltClock