2013-09-24 19 views
15

Desidero impostare un valore BOOL come true false in formato NSMutableDictionary (che verrà utilizzato come dizionario JSON della richiesta API). Ho provato entrambi i seguenti metodi. Ma quelli NON sono il formato corretto richiesto dall'API (l'API ha bisogno del valore BOOL come tipo true/false non come 1/0).Imposta valore BOOL su NSMutableDictionary

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

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

chiunque può avere un idi

+0

tenta di utilizzare% d nel stringwithformat – SRI

+1

È possibile salvare '[NSNumero numericoWithBool: YES];' e successivamente '[[dizionario objectForKey: @" chiave "] boolValue];' –

risposta

39

BOOL può essere avvolto in un oggetto NSNumber:

dicTemp[@"is_default"] = @YES; 

(Questo codice utilizza il newish Objective-C Literals syntax).

Se sei vecchio stile (niente di male), quindi la dichiarazione di cui sopra è la stessa:

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

Per provare più tardi:

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

Ho una variabile Bool Come Bool fbId; dicTemp [@ "keyValue"] = fbId; Questo non funziona, per favore aiutami .. Grazie in anticipo – Vidhi

+1

@Vidhi Inizia una nuova domanda. – trojanfoe