Сохранение стоимости UISlider - PullRequest
1 голос
/ 18 февраля 2011

Мне удалось реализовать UISlider в Cocos2D , что на самом деле работает, к моему удивлению.

Я просматривал все 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 Ответ

1 голос
/ 18 февраля 2011

При инициализации вы устанавливаете значение для floatKey в настройках вместо того, чтобы получить его. Вы, вероятно, хотите что-то вроде этого:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
float value = [userDefaults floatForKey:@"floatKey"]; //read the value from the defaults
[CDAudioManager sharedManager].backgroundMusic.volume = value; //use the value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...