【发布时间】:2016-07-24 11:04:34
【问题描述】:
我知道以前有人问过这个问题,但我还没有找到解决方案。我正在尝试保存 UISwitch 状态,以便无论我输入哪个 VC,该开关状态仍然处于活动状态。但是,每当我离开 VC 时,开关就处于打开状态,它就会关闭。目前这是我用来保存开关状态的代码:
- (IBAction)tvpSwitch:(UISwitch *)sender {
if (sender.isOn) {
[[NSUserDefaults standardUserDefaults]setObject:@"on" forKey:@"tvpSwitch"];
[[NSUserDefaults standardUserDefaults]synchronize];
}
else {
[[NSUserDefaults standardUserDefaults]setObject:@"off" forKey:@"tvpSwitch"];
[[NSUserDefaults standardUserDefaults]synchronize];
}}
然后我把这是任何 VC viewWillAppear:
-(void)viewWillAppear:(BOOL)animated
{
if ([[[NSUserDefaults standardUserDefaults]valueForKey:@"tvpSwitch"]isEqualToString:@"on"])
{
(sender.isOn=YES);
}
else
{
(sender.isOn=NO);
}}
它还在 viewWillAppear 方法中标记为:“使用未声明的标识符'sender'。”我通常尝试使用参考指南,但我很难确定哪里出错了。任何帮助都会很棒!谢谢!
【问题讨论】:
-
您是如何创建
UISwitch的?因为你的sender在哪里,你应该参考开关(比如 self.nameOfTheSwitch)
标签: ios objective-c uiswitch