【发布时间】:2016-03-10 21:30:44
【问题描述】:
出于某种原因,使用 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 是的,他们是
标签: ios