比较BOOL值目标C.

时间:2014-02-27 09:56:26

标签: objective-c

我在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;
    }}

无法找到我遗失/做错的事。谢谢。

1 个答案:

答案 0 :(得分:1)

您期望发生什么? BOOL是represented as numbers(1 =真,0 =假):

  

NSNumber类用于表示任何基本的C标量   类型,包括char,double,float,int,long,short和   每个的无符号变体,以及Objective-C布尔类型,   BOOL。

你的if语句在任何情况下都应该有效,不是吗?