IPhone SDK默认NSUserDefaults [英] IPhone SDK Default NSUserDefaults

查看:237
本文介绍了IPhone SDK默认NSUserDefaults的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经设置了用户默认值来记录UISlider的整数,问题是,如果用户刚刚安装了应用程序,则整数为零或NULL。有没有办法用整数来检测它是否为NULL?

I have set up the user defaults to record a integer for a UISlider, the problem is that, if the user has only just installed the app then the integer is zero or NULL. Is there a way to detect if it = NULL with a integer?

这是我到目前为止的代码:

heres my code i have so far:

-(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. :(

senset is the integer. i have tried this code, and it sets it to 25 on the first time, but then if i try and overwrite it, it wont work and keeps setting it to 25. :(

    if ( [prefs integerForKey:@"senset"] == NULL ) {
    senset = 25;    
}

请帮助:P

Harry

推荐答案

您应该为每个首选项设置一个有效的默认值。当用户没有设置一个值时,将使用该值。

You should set a valid default value for each of your preferences. This value will be used when one has not been set by the user.

NSMutableDictionary *defaults = [NSMutableDictionary dictionary];
[defaults setObject:[NSNumber numberWithInt:25] forKey:@"senset"];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];

这篇关于IPhone SDK默认NSUserDefaults的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆