保存UISlider的值

时间:2011-02-18 10:54:05

标签: iphone nsuserdefaults

我已设法在 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"];
}

1 个答案:

答案 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