· 存BOOL
由于字典中存储的键值对都必须是对象。所以把BOOL值存入字典的时候,需要转换成对象。两种方法
方法一:给BOOL值加上括号@()
NSDictionary * dict = @{@"isOn":@(NO),@"name":@"Alice"};
方法二:使用NSNumber
NSNumber * boolNum = [NSNumber numberWithBool:NO];
NSDictionary * dict = @{@"isOn":boolNum),@"name":@"Alice"};
· 取BOOL
取BOOL值的时候!!!一定要多写一步转换成NSNumber然后再转换成BOOL!!!!千万不要:
否则可能会出现Dictionary内值为0,但取出后为YES(1)这个问题!
正确做法:
NSNumber * boolNum = dict[@"yourBoolKey"];
BOOL isOn = [boolNum boolValue];