在我的应用程序中,我有一个选项页面。它有 3 个可以更改的东西:一个用于反向控制的开关(它是一款射击游戏)、一个用于效果级别的音量滑块和一个用于音乐级别的音量滑块。我需要一些帮助。我是目标 c 的新手(3 周),我需要存储 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,在为字符串分配滑块值时出现错误。“初始化中的不兼容类型”,并且为了检索值,我收到错误“setVolume 的参数 1 的类型不兼容”。
请告诉我我做错了什么,如果您知道,请帮助我解决存储和检索的开关状态。