Цель-C: BOOL против bool

Как упоминалось выше, BOOL bool - это знаковый символ. bool boolean-expression - тип из стандарта C99 (int).

BOOL type - ДА / НЕТ. bool - истина objective-c / ложь.

См. примеры:

bool b1 = 2;
if (b1) printf("REAL b1 \n");
if (b1 != true) printf("NOT REAL b1 \n");

BOOL b2 = 2;
if (b2) printf("REAL b2 \n");
if (b2 != YES) printf("NOT REAL b2 \n");

И результат

НАСТОЯЩИЙ b1
НАСТОЯЩИЙ b2
НЕ НАСТОЯЩИЙ b2

Обратите boolean внимание, что bool! = BOOL. Результат boolean-expression ниже - только ЕЩЕ РАЗ - НАСТОЯЩИЙ b2

b2 = b1;
if (b2) printf("ONCE AGAIN - REAL b2 \n");
if (b2 != true) printf("ONCE AGAIN - NOT REAL b2 \n");

Если вы хотите bool преобразовать bool в BOOL, вам type следует использовать следующий c код

BOOL b22 = b1 ? YES : NO; //and back - bool b11 = b2 ? true : false;

Итак, в нашем случае:

BOOL b22 = b1 ? 2 : NO;
if (b22)    printf("ONCE AGAIN MORE - REAL b22 \n");
if (b22 != YES) printf("ONCE AGAIN MORE- NOT REAL b22 \n");

Итак objective-c .. что мы теперь получаем? :-)

c

objective-c

types

boolean

2022-09-22T19:15:46+00:00