2013-09-24 95 views
15

我想將一個BOOL值設置爲true false格式爲NSMutableDictionary(它將用作API請求的JSON字典)。我嘗試了以下兩種方法。但是這些都不是API所要求的正確格式(API需要BOOL值爲true/false類型而不是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

BOOL可以被包裹在一個NSNumber對象:

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

我有一個Bool變量像 Bool fbId; dicTemp [@「keyValue」] = fbId; 這不是工作請幫助我.. 在此先感謝 – Vidhi

+1

@Vidhi開個新問題。 – trojanfoe