我在NSUserDefaults中为两个键保存了BOOL值,而在读取值时,结果并不像预期的那样。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults synchronize];
NSLog(@"A_Key:%u B_Key:%u", [userDefaults boolForKey:A_KEY], [userDefaults boolForKey:B_KEY]);
// Logs:A_Key:1 B_Key:0
if([userDefaults boolForKey:A_KEY]){
_segmentedControl.selectedSegmentIndex=0;
}else{
if([userDefaults boolForKey:B_KEY]){
_segmentedControl.selectedSegmentIndex=1;
}}
无法找到我遗失/做错的事。谢谢。
答案 0 :(得分:1)
您期望发生什么? BOOL是represented as numbers(1 =真,0 =假):
NSNumber类用于表示任何基本的C标量 类型,包括char,double,float,int,long,short和 每个的无符号变体,以及Objective-C布尔类型, BOOL。
你的if语句在任何情况下都应该有效,不是吗?