gpt4 book ai didi

iphone - 保存并加载 UISwitch 状态

转载 作者:行者123 更新时间:2023-12-03 20:20:14 25 4
gpt4 key购买 nike

我想保存开关状态并在程序重新启动时加载它。

[[NSUserDefaults standardUserDefaults] setBool:switchControl.on forKey:@"switch"];
[[NSUserDefaults standardUserDefaults] synchronize];

这是保存部分

BOOL test= [[NSUserDefaults standardUserDefaults] boolForKey:@"switch"];
NSLog(@"%@",test?@"YES":@"NO");
if(test == YES)
[switchControl setOn:YES animated:YES];
else
[switchControl setOn:NO animated:YES];

这是需要将开关设置为其值的部分。我在 viewdidload 方法中执行此操作,因为当我关闭应用程序并重新启动它时,我希望开关的状态设置保存的部分。

但它仍然显示默认部分,你可以帮我设置它吗?

最佳答案

您是否将开关创建为具有属性的 IBOutlet?如果是这样,我认为您的问题是您没有将 switchControl 称为 self.switchControl

那么你正确的保存语句将变成

[[NSUserDefaults standardUserDefaults] setBool:self.switchControl.on forKey:@"switch"];
[[NSUserDefaults standardUserDefaults] synchronize];

我会将设置开关的部分移至 viewWillAppear 中,并按如下方式执行:

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
BOOL test= [[NSUserDefaults standardUserDefaults] boolForKey:@"switch"];
NSLog(@"%@",test?@"YES":@"NO");
[self.switchControl setOn:test animated:YES];
}

我也为你删除了一个不必要的 if 语句。

关于iphone - 保存并加载 UISwitch 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com