我在 viewDidLoad
中设置了一个值,所以它可以是默认设置,所以每当我加载到该 View Controller 时,它都会有一个默认值。
我在这里使用 NSUserDefaults
:
- (void)viewDidLoad
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:1 forKey:@"defaultKey"];
NSInteger defaultKey = [[NSUserDefaults standardUserDefaults] integerForKey:@"defaultKey"];
if (defaultKey == 1){
// do something 1
} else if ( defaultKey == 2){
// do something 2
}
}
但我想要的是按下按钮时,例如 button2,
-(IBAction) button2Pressed:(id)sender {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:2 forKey:@"defaultKey"];
}
它会改变它的值(value)。因此,例如,我然后再次加载该 ViewController
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:2 forKey:@"defaultKey"];
将是其下一次加载的设置。
最佳答案
这样做
- (void)viewDidLoad
{
NSInteger defaultKey = [[NSUserDefaults standardUserDefaults] integerForKey:@"defaultKey"];
if (defaultKey == 1){
// do something 1
} else if ( defaultKey == 2){
// do something 2
}
else
{
//for the first time
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:1 forKey:@"defaultKey"];
}
}
和
-(IBAction) button2Pressed:(id)sender {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:2 forKey:@"defaultKey"];
}
关于iphone - NSUserDefaults 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11132513/