2010-08-10 6 views
11

je me demandais quelle était la différence entre les valeurs suivantes dans c Objectif:valeurs booléennes Objectif c

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

sont de différentes couleurs dans l'IDE, y at-il des situations différentes lorsque vous utilisez les différentes valeurs booléennes?

Merci

+2

Ne pas '' YES' et NO' doivent toujours être en majuscules en Objective-C? – BoltClock

Répondre

15

Ces valeurs sont de couleurs différentes, comme ils sont utilisés dans deux types différents - BOOL et bool et sont différentes constructions de langage.

BOOL est une nouvelle définition de la macro de signed char, ce qui signifie qu'il peut avoir plus de deux valeurs, et alors que la cartographie est NO/FALSE == 0, YES/TRUE == 1, vous devez être prudent lors de l'écriture expressions booléennes et traiter toute valeur non nulle comme vraie. Les valeurs pouvant être affectées à BOOL sont définies comme des macros et sont colorées en conséquence. D'autre part, bool est un vrai type booléen et peut avoir seulement deux valeurs - true et false. Ses valeurs sont des constructions de langage natif et sont colorées en tant que telles.

Voici quelques autres SO discussions sur ce sujet:
Is there a difference between YES/NO,TRUE/FALSE and true/false in objective-c?
Objective-C : BOOL vs bool

Questions connexes