2011-03-12 41 views
2

在离开ViewController后,我无法保存UISlider的位置(或当前值)。 UISlider位于我的应用设置ViewController中,并控制应用中的音乐音量。当我改变数值并离开设置ViewController时,音乐使用用户选择的级别。但是,如果您返回设置ViewController它将回到我在界面构建器中设置的默认值。如何保存UISlider的位置(或当前值)?

我已经尝试使用NSUserDefaults保存其值,但没有任何成功。我应该如何去实现这种类型的代码?

回答

4

NSUserDefaults是一种简单而有效的方式来保存这样的设置,但它只保存您给它的值。您仍然需要检索该值并在下次加载该控制器时使用它来设置滑块的值。如果你发布的代码给你带来麻烦,以及描述什么不起作用,这将有所帮助。你能够将值保存在sharedDefaults对象中吗?你能找回吗?

要保存对温度的控制,例如滑块的价值,你会做类似如下:

[[NSUserDefaults sharedDefaults] setFloat:temperatureSlider.value forKey:@"temperature"]; 

,恢复滑块,你会说:

float temperature = [[NSUserDefaults sharedDefaults] floatForKey:@"temperature"]; 
temperatureSlider.value = temperature; 

当然,对于像“温度”这样的东西使用常量总是很好的。我只是尽量保持它尽可能简单。

+0

非常感谢你,我明白了。 ForKey Name中的一个简单错字忘记了一个是大写的,一个不是。 – 2011-03-13 15:35:57