如何保存布尔值以隐藏或显示按钮?

问题描述 投票:0回答:1

我的问题涉及一种简单的游戏关卡选择方式。例如:我有两个ViewControllers。在一个ViewController我编写了一个游戏代码。如果我实现了游戏目标,我将显示一个隐藏按钮(UIButton.hidden = NO),它将我与其他ViewController链接到下一级别。到现在为止还挺好。

但我希望保存这个状态,所以当我再次关闭并打开应用程序时,这个隐藏的按钮应该仍然可用,因为我已经达到了这个级别的目标。

我尝试使用NSUserDefaults,但我无法弄清楚如何保存布尔值。如何为按钮触发保存if/else状态?

objective-c state game-development
1个回答
0
投票

不确定我是否遗漏了什么,但听起来相当简单:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"buttonVisible"];
BOOL buttonVisible = [[NSUserDefaults standardUserDefaults] boolForKey:@"buttonVisible"];

关于以下讨论。通知模式看起来像这样:在viewController中,实现了必要的目标:

[[NSNotificationCenter defaultCenter] postNotificationName:@"nextLevelGoalAchieved" object:nil];

在viewController中,您需要了解更改:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(makeLevelButtonVisible) name:@"nextLevelGoalAchieved" object:nil];
© www.soinside.com 2019 - 2024. All rights reserved.