Szukaj…


BOOL / Boolean / bool / NSCFBoolean

  1. bool jest typem danych zdefiniowanym w C99.
  2. Wartości logiczne są używane w instrukcjach warunkowych, takich jak instrukcje if lub while, w celu warunkowego wykonania logiki lub powtórzenia wykonania. Podczas oceny instrukcji warunkowej wartość 0 jest uważana za „fałsz”, podczas gdy każda inna wartość jest uważana za „prawda”. Ponieważ NULL i zero są zdefiniowane jako 0, instrukcje warunkowe dotyczące tych nieistniejących wartości są również oceniane jako „fałsz”.
  3. BOOL jest typem Objective-C zdefiniowanym jako podpisany znak z makrami TAK i NIE, który reprezentuje prawda i fałsz

Z definicji w objc.h:

#if (TARGET_OS_IPHONE && __LP64__)  ||  TARGET_OS_WATCH
typedef bool BOOL;
#else
typedef signed char BOOL; 
// BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" 
// even if -funsigned-char is used.
#endif

#define YES ((BOOL)1)
#define NO  ((BOOL)0)
  1. NSCFBoolean to prywatna klasa w klastrze klas NSNumber. Jest pomostem do typu CFBooleanRef, który służy do zawijania wartości boolowskich dla list właściwości i kolekcji Core Foundation. CFBoolean definiuje stałe kCFBooleanTrue i kCFBooleanFalse. Ponieważ CFNumberRef i CFBooleanRef są różnymi typami w Core Foundation, sensowne jest, że są reprezentowane przez różne klasy mostkowe w NSNumber.

BOOL VS Boolean

BOOL

  • Frameworki Apple Objective-C i większość zastosowań kodu Objective-C / Cocoa
    BOOL.
  • Użyj BOOL w celu C, gdy masz do czynienia z dowolnymi interfejsami API CoreFoundation

Boolean

  • Boolean to stare słowo kluczowe Carbon, zdefiniowane jako znak bez znaku


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow