В моем приложении у меня есть страница настроек. Он имеет 3 вещи, которые вы можете изменить: переключатель для перевернутых элементов управления (это стрелялка), ползунок громкости для уровня эффектов и ползунок громкости для уровня музыки. Мне нужна помощь с парой вещей. Я новичок (3 недели) в цели c, и мне нужна помощь с хранением NSUserDefaults. У меня вроде есть код для ползунков громкости, но он не работает. Я также понятия не имею, что делать с выключателем. Мне нужно проверить эти данные позже во время игры. Вот код, который я пробовал
OPTIONS.m
-(IBAction)musicVolumeChanged {
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
NSString *musicVolume = musicVolumeSlider.value;
//theAudio.volume = musicVolume;
[userPreferences setObject:musicVolume forKey:@"musicVolume"];
}
-(IBAction)effectsVolumeChanged {
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
NSString *effectsVolume = effectsVolumeSlider.value;
//theAudio.volume = effectsVolume;
[userPreferences setObject:effectsVolume forKey:@"effectsVolume"];
}
А затем для доступа к значениям во время игры у меня есть:
Igunner.m
NSString *effects_Volume = [[NSUserDefaults standardUserDefaults]
stringForKey:@"effectsVolume"];
theAudio.volume = effects_Volume;
[theAudio play];
А затем для громкости музыки у меня есть:
NSString *music_Volume = [[NSUserDefaults standardUserDefaults]
stringForKey:@"musicVolume"];
theAudio.volume = music_Volume;
[theAudio play];
У меня есть одна ошибка в каждом примере кода, показанном выше. для назначения значений NSUserDefaults, я получаю ошибку, когда я назначаю значение ползунка для строки. «Несовместимые типы в инициализации» и для получения значений я получаю ошибки «Несовместимый тип для аргумента 1 setVolume.»
Пожалуйста, скажите мне, что я делаю неправильно, и, если вы знаете, пожалуйста, помогите мне с сохранением и извлечением состояния коммутатора.