在我的應用程序中,我有一個選項頁面。它有三件事情可以改變:一個用於反轉控制的開關(它是一個射擊遊戲),一個音量滑塊,以及一個音量滑塊。我需要一些幫助。我是新的(3周)到目標c,我需要幫助存儲NSUserDefaults。我有種體積滑塊的代碼,但它不起作用。我也不知道該如何處理交換機。我也需要在比賽後期檢查這些數據。這是我曾嘗試 OPTIONS.mIphone NSUserDefaults麻煩?
-(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的不兼容類型」。
請告訴我我做錯了什麼,如果你知道,請幫助我瞭解存儲和檢索的開關狀態。
您確定audio.volume是NSString嗎?我非常懷疑它。但你不告訴我們音頻是什麼,所以我不能給你解決方案。 – 2011-03-10 12:22:21