2013-09-24 54 views
15

Tôi muốn đặt giá trị BOOL là đúng định dạng thành NSMutableDictionary (sẽ sử dụng làm Từ điển JSON của Yêu cầu API). Tôi đã thử cả hai phương pháp sau. Nhưng đó không phải là định dạng đúng theo yêu cầu của API (API cần giá trị BOOL là true/false type không phải là 1/0).Đặt giá trị BOOL thành NSMutableDictionary

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

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

bất cứ ai có thể có một IDEs

+0

cố gắng sử dụng% d trong stringwithformat – SRI

+1

Bạn có thể lưu '[Số NSNumberWithBool: YES];' và sau đó '[[dictionary objectForKey: @" key "] boolValue];' –

Trả lời

39

BOOL có thể được bọc trong một đối tượng NSNumber:

dicTemp[@"is_default"] = @YES; 

(Mã này được sử dụng hơi mới Objective-C Literals syntax).

Nếu bạn là old-fashioned (không có gì sai với điều đó), sau đó tuyên bố trên là giống như:

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

Để kiểm tra sau:

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

Tôi có một biến Bool Giống như Bool fbId; dicTemp [@ "keyValue"] = fbId; Đây không phải là công việc, hãy giúp tôi .. Cảm ơn bạn đã nâng cao – Vidhi

+1

@Vidhi Bắt đầu một câu hỏi mới. – trojanfoe