出于某种原因,使用NSUserDefaults来保存我的开关的状态,我的标签似乎没有工作。我可以保存我的开关的状态并加载它,但是除非我手动更改开关的状态,标签不会更改为开或关。开关状态没有链接到标签
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
self->switch1.on = ([[standardDefaults stringForKey:@"switchKey"]
isEqualToString:@"On"]) ? (YES) : (NO);
正如您所看到的,我在label.text = @“OFF”中添加了开关关闭但仍然不变的情况。
- (IBAction)switchChanged:(UISwitch *)sender {
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
if (sender.on == 0) {
label.text = @"OFF";
[standardDefaults setObject:@"Off" forKey:@"switchKey"];
} else if (sender.on == 1) {
label.text = @"ON";
[standardDefaults setObject:@"On" forKey:@"switchKey"];
}
[standardDefaults synchronize];
}
在我想保存开关状态之前,我只是使用了它。
-(IBAction) alarmSettings1{
if (switch1.on)
{ label.text = @"ON";}
else { label.text = @"OFF";}
}
我知道我只是做一些简单的错误,但无法弄清楚什么。
为什么你用stringForKey?改用ObjectForKey? –
是你的网点连接? –
@DianaProdan是的他们是 – avi