0

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

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

我尝试使用NSUserDefaults,但我不知道如何保存布尔值。如何保存if/else按钮触发的状态?

4

1 回答 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];
于 2013-01-03T17:40:07.453 回答