जवाबों:
इसे करने का एक तरीका स्ट्रिंग्स में बदलना है (क्योंकि केवल दो संभावनाएं हैं, यह कठिन नहीं है):
NSLog(@" %s", BOOL_VAL ? "true" : "false");
मुझे नहीं लगता कि बुलियन मूल्यों के लिए कोई प्रारूप निर्दिष्ट होता है।
मैं सलाह दूँगा
NSLog(@"%@", boolValue ? @"YES" : @"NO");
क्योंकि, उम, BOOL
रों कहा जाता है YES
या NO
ऑब्जेक्टिव-सी में।
ऑब्जेक्टिव-सी में, BOOL
प्रकार केवल एक हस्ताक्षरित चार है। से <objc/objc.h>
:
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
तो आप उन्हें %d
फ़ॉर्मेटर का उपयोग करके प्रिंट कर सकते हैं लेकिन यह केवल एक 1
या एक प्रिंट करेगा 0
, YES
या नहीं NO
।
या आप बस एक स्ट्रिंग का उपयोग कर सकते हैं, जैसा कि अन्य उत्तरों में सुझाया गया है।
NSLog और [NSString stringWithFormat] के साथ उपयोग के लिए प्रारूप के तार यहाँ प्रलेखित हैं:
BOOL / बूल / बूलियन का उल्लेख भी नहीं किया गया है ...
बस नीचे फ़ंक्शन जोड़ें और इसे पास करें BOOL
मान और विधि वापस वापस आ जाएगी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
}
मेरा मानना है कि ऐसा करने का सबसे आसान तरीका है:
NSLog(@" %@", @(BOOL_VAL));
@ (अभिव्यक्ति)
गतिशील रूप से बॉक्सिंग अभिव्यक्ति का मूल्यांकन करता है और इसके मूल्य के आधार पर उपयुक्त वस्तु शाब्दिक रिटर्न देता है (यानी एनएसएसट्रिंग फॉर कास्ट चार *, एनएसएनम्बर फॉर इंट, आदि)।