2013-09-24 19 views
15

Chcę ustawić wartość BOOL jako true false w formacie NSMutableDictionary (która będzie używana jako słownik JSON żądania API). Próbowałem obu poniższych metod. Ale NIE są to poprawne formaty wymagane przez API (API potrzebuje wartości BOOL jako typu true/false nie jako 1/0).Ustaw wartość BOOL na NSMutableDictionary

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

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

może ktoś ma IDE

+0

spróbuje użyć% D: stringwithformat – SRI

+1

Możesz zapisać '[NSNumber numberWithBool: YES];' i później '[[dictionary objectForKey: @" key]] boolValue]; ' –

Odpowiedz

39

BOOL mogą być zapakowane w obiekcie NSNumber:

dicTemp[@"is_default"] = @YES; 

(Kod ten jest za pomocą newish Objective-C Literals syntax).

Jeśli jesteś staroświecki (w tym nic złego), to powyższe stwierdzenie jest taka sama, jak:

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

Aby przetestować później:

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

Mam jedną zmienną typu Bool Like Bool fbId; dicTemp [@ "keyValue"] = fbId; To nie jest praca, proszę, pomóż mi .. Z góry dziękuję – Vidhi

+1

@Vidhi Rozpocznij nowe pytanie. – trojanfoe

Powiązane problemy