我有一个问题,我希望我的游戏保存我的选项场景中的设置状态,例如..如果我通过点击音乐按钮关闭音乐,音乐将关闭并写入如果我改变了场景,音乐图像下的“音乐关闭”,设置保持与我设置的相同,直到这里没问题....但是当我重新启动应用程序时,设置如前所述返回,音乐开启在音乐形象下写下“音乐开”,我该如何解决这个问题呢?
答案 0 :(得分:1)
最简单,最常见的方法是NSUserDefaults。
首先,您必须在首次启动时注册默认值(在applicationDidFinishLaunch中)。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (![userDefaults boolForKey:@"hasLaunchedOnce"]) {
[userDefaults setBool:YES forKey:@"hasLaunchedOnce"];
NSDictionary* defaults = [NSDictionary dictionary];
[defaults setValue:@YES forKey:@"musicOn"];
[userDefaults registerDefaults:defaults];
}
然后例如按下按钮
设置新值musicButton.block = ^(id sender) {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey: @"musicOn"];
// [userDefaults synchronize]; // actually you dont really need to force it everytime, but if you want
};
如果你想检查代码中的任何地方,如果有音乐,你就可以
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if ( [userDefaults boolForKey:@"musicOn"] ) { /* do something */}