我已设法在 Cocos2D 中实施UISlider
,这实际上让我感到惊讶。
我一直在查看所有NSUserDefaults
个样本,但我无法正常工作。只是想知道是否有人可以提供帮助。我认为我保存了正确的价值。
- (void) valueChanged:(float) value tag:(int) tag{
if (tag == 1) // music volume
[self updateLabel:value];
[CDAudioManager sharedManager].backgroundMusic.volume = value;
CCLOG (@"Unknown slider");
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setFloat:value forKey:@"floatKey"];
[prefs synchronize];
}
它只是重新加载我遇到困难的默认值,我把它放在我的类的初始化中。我甚至不确定它是否应该去那里......
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if ([userDefaults floatForKey:@"floatKey"]) {
[userDefaults setFloat:value forKey:@"floatKey"];
}
答案 0 :(得分:1)
在初始化过程中,您在首选项中设置 floatKey
的值而不是获取它。你可能想要这样的东西:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
float value = [userDefaults floatForKey:@"floatKey"]; //read the value from the defaults
[CDAudioManager sharedManager].backgroundMusic.volume = value; //use the value