我已经设置用户默认为UISlider记录一个整数,问题是,如果用户仅安装了应用程序,则该整数为零或NULL。有没有一种方法可以检测它是否为整数的NULL?
到目前为止,我的继承人代码是:
-(void)awakeFromNib {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
senset = [prefs integerForKey:@"senset"];
senset = sensitivity.value;
}
- (IBAction) setSens {
senset = sensitivity.value;
}
- (IBAction) goBackopt {
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:senset forKey:@"senset"];
[prefs synchronize];
}
}
Senset是整数。我已经尝试过此代码,并且第一次将其设置为25,但是如果我尝试覆盖它,它将无法正常工作,并将其设置为25。:(
if ( [prefs integerForKey:@"senset"] == NULL ) {
senset = 25;
}
请帮忙:P
哈里
最佳答案
您应该为每个首选项设置一个有效的默认值。如果用户未设置该值,将使用此值。
NSMutableDictionary *defaults = [NSMutableDictionary dictionary];
[defaults setObject:[NSNumber numberWithInt:25] forKey:@"senset"];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
关于iphone - iPhone SDK默认NSUserDefaults,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2614468/