Yanıtlar:
Bunu yapmanın bir yolu dizelere dönüştürmektir (yalnızca iki olasılık olduğundan, bu zor değildir):
NSLog(@" %s", BOOL_VAL ? "true" : "false");
Boole değerleri için bir format tanımlayıcısı olduğunu sanmıyorum.
Ben tavsiye ederim
NSLog(@"%@", boolValue ? @"YES" : @"NO");
çünkü, um, BOOL
s denir YES
veya NO
Amaç-C'de.
Tamsayı biçimlendirici kullanın %d
ya yazdırır, 0
ya 1
:
NSLog(@"%d", myBool);
Objective-C'de, BOOL
tür yalnızca imzalı bir karakterdir. Kimden <objc/objc.h>
:
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
Eğer kullanarak bunları yazdırabilirsiniz Yani %d
biçimlendirici Ama bu sadece bir yazdırır 1
veya 0
değil YES
ya NO
.
Veya diğer cevaplarda önerildiği gibi sadece bir dizi kullanabilirsiniz.
NSLog ve [NSString stringWithFormat] ile kullanım için biçim dizeleri burada belgelenmiştir:
BOOL / bool / boolean bahsedilmiyor bile ...
Sadece aşağıdaki işlevi ekleyin ve BOOL
değeri iletin; yöntem,NSString
- (NSString *)boolValueToString:(BOOL)theBool {
if (theBool == 0)
return @"NO"; // can change to No, NOOOOO, etc
else
return @"YES"; // can change to YEAH, Yes, YESSSSS etc
}
Bunu yapmanın en kolay yolunun:
NSLog(@" %@", @(BOOL_VAL));
@ (İfade)
Kutulu ifadeyi dinamik olarak değerlendirir ve değerine bağlı olarak uygun nesne hazır bilgisini döndürür (örn. Const char * için NSString, int için NSNumber, vb.).