2011-02-18 76 views
1

我已经设法实现了一个UISliderCocos2D这实际上令我惊讶。保存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

有些人在那里询问在仅仅几分钟的跨度方式更多的问题:) – BoltClock 2011-02-18 10:56:02

+0

哈哈我讨厌问问题,但它确实让我生气的时候,我不能得到的东西的工作。这只是我第三周与cocos2d合作,即时通讯慢慢学习,但它的噩梦哈哈。 – user618175 2011-02-18 11:02:20

回答

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