2013-09-24 4 views
15

BOOLの値を真の偽の形式に設定して、NSMutableDictionary(APIリクエストのJSONディクショナリとして使用)に設定します。私は次の両方の方法を試みました。しかし、それらはAPIによって要求された正しいフォーマットではありません(APIはBOOL値を1/0ではなく真/偽の型として必要とします)。BOOLの値をNSMutableDictionaryに設定する

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

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

誰のIDE

+0

は中%dを使用してみてくださいstringwithformat – SRI

+1

'' [NSNumber numberWithBool:YES]; '' [[dictionary objectForKey:@ "key"] boolValue]; ' –

答えて

39

BOOLNSNumberオブジェクトにラップすることができます持つことができます。

dicTemp[@"is_default"] = @YES; 

(このコードは、やや新しいObjective-C Literals syntaxを使用しています)。

あなたは昔ながらの(それと間違って何もない)である場合、上記のステートメントは同じです:後でテストするために

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

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

私は1つのBool変数を持っていますよね。 Bool fbId; dicTemp [@ "keyValue"] = fbId; これは機能しません。 ありがとうございました – Vidhi

+1

@Vidhi新しい質問を起動します。 – trojanfoe

関連する問題