出於某種原因,使用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