Welcher Formatierer wird für boolesche Werte verwendet?Objective-C Formatierungszeichenfolge für Boolean?
EDIT:
Beispiel: NSLog(@" ??", BOOL_VAL);
, was ??
ist?
Welcher Formatierer wird für boolesche Werte verwendet?Objective-C Formatierungszeichenfolge für Boolean?
EDIT:
Beispiel: NSLog(@" ??", BOOL_VAL);
, was ??
ist?
Eine Möglichkeit, es zu tun ist, um Zeichenfolgen zu konvertieren (da es nur zwei Möglichkeiten gibt, ist es nicht schwer):
NSLog(@" %s", BOOL_VAL ? "true" : "false");
Ich glaube nicht, gibt es eine Formatangabe für Boolesche Werte.
Sollen die Ausgabezeichenfolgen nicht sein: "Ja" und "Nein": P –
Oder "Kuchen" und "Kein Kuchen". Was immer dir passt. –
Ich liebe Kuchen und keinen Kuchen! Ich werde alle meine x ersetzen @ "YES": @ "NO" -Code mit [email protected] "Cake": @ "No Cake" sofort: D - na ja, zumindest für meine Objektbeschreibungen trotzdem;) –
würde ich
NSLog(@"%@", boolValue ? @"YES" : @"NO");
weil, äh, BOOL
s genannt werden YES
oder NO
in Objective-C empfehlen.
Es scheint ein offensichtlicher Utility-Spot für ein Makro oder eine Funktion (wenn auch nur um die Ausbreitung von String-Literalen in der gesamten App zu vermeiden). –
-1 für sarkastisches "um" – delux247
In Objective-C ist der Typ BOOL
nur ein signiertes Zeichen. Von <objc/objc.h>
:
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
So können Sie sie mit dem %d
Formatierer drucken Aber das wird nur ein 1
oder eine 0
, nicht YES
oder NO
drucken.
Oder Sie können einfach eine Zeichenfolge verwenden, wie in anderen Antworten vorgeschlagen.
Format-Strings für die Verwendung mit NSLog und [NSString string] sind hier dokumentiert:
BOOL/Bool/boolean werden nicht einmal erwähnt ...
Das ist sehr gut auf der Apple Dev-Seite versteckt. – Echilon
Verwenden integer Formatierer %d
, welche druckt entweder 0
oder 1
:
NSLog(@"%d", myBool);
xcode klagt aber. – Fresheyeball
Fügen Sie diese Inline-Funktion auf Ihre .h
Datei:
static inline NSString* NSStringFromBOOL(BOOL aBool) {
return aBool? @"YES" : @"NO";
}
Jetzt sind Sie bereit zu gehen ...
NSLog(@"%@", NSStringFromBOOL(BOOL_VAL));
Sie einfach die unten Funktion hinzufügen und den BOOL
Wert und das Verfahren wieder zurück übergeben wird die 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
}
habe ich eine Kategorie von NSString mit diesem
+ (instancetype)stringWithBool:(BOOL)boolValue {
return boolValue ? @"YES" : @"NO";
}
Und es wie folgt verwenden:
[NSString stringWithBool:boolValue];
der Kuchen ist eine Lüge! –