2013-09-24 6 views
15

Ich möchte einen BOOL-Wert als True False Format zu einem NSMutableDictionary (die als JSON-Wörterbuch der API-Anfrage verwenden wird) festlegen. Ich habe beide der folgenden Methoden ausprobiert. Aber das ist NICHT das richtige Format, das von der API angefordert wird (API benötigt den BOOL-Wert als Wahr/Falsch-Typ nicht als 1/0).Setze BOOL-Wert auf NSMutableDictionary

BOOL isDefault = YES; 
[dicTemp setValue:[NSString stringWithFormat:@"%c", isDefault] forKey:@"is_default"]; 

//[dicTemp setValue:[NSNumber numberWithBool:isDefault] forKey:@"is_default"]; 

Kann jemand eine Iden hat

+0

try% d in der verwenden stringwithformat – SRI

+1

Sie könnten speichern '[NSNumber numberWithBool: YES];' und später '[[dictionary objectForKey: @" key "] boolValue];' –

Antwort

39

BOOL kann in einem NSNumber Objekt gewickelt werden:

dicTemp[@"is_default"] = @YES; 

(Dieser Code wird mit den neueren Objective-C Literals syntax).

Wenn Sie sind altmodisch (nichts falsch mit dem), dann ist die obige Aussage ist die gleiche wie:

[dicTemp setObject:[NSNumber numberWithBool:YES] 
      forKey:@"is_default"]; 

Um zu testen, später:

NSNumber *numObj = dicTemp[@"is_default"]; 
if ([numObj boolValue]) { 
    // it was YES 
} 
+0

Ich habe eine Bool-Variable Wie Bool fbId; dicTemp [@ "keyValue"] = fbId; Dies ist nicht arbeiten bitte helfen Sie mir .. Vielen Dank im Voraus – Vidhi

+1

@Vidhi Starten Sie eine neue Frage. – trojanfoe

Verwandte Themen