如何在ios中存储滑块值

时间:2012-11-10 07:40:34

标签: ios slider uislider

您好我正在使用uislider并获取标签中的值。现在我尝试保存滑块值。我不知道该怎么做。如果有人知道请分享代码。这是我改变滑块的代码。      -(IBAction)sliderChanged:(id)sender
{
UISlider *slider = (UISlider *)sender;
if((int)slider.value % 10 == 0)
{
sliderLabel.text = [[NSString alloc] initWithFormat:@"Value of:%d", (int)slider.value];
}
}

2 个答案:

答案 0 :(得分:2)

您可以使用NSUserDefault存储滑块值。

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:sliderLabel.text forKey:@"Slider"];
[defaults synchronize];

您可以检索如下数据:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSString *strValue =   [defaults objectForKey:@"Slider"];
myLabel.text = strValue != nil ? strValue : @"No Value";

以上代码将sliderLabel保存到NSUserDefault。如果要以float形式存储滑块值,请使用:

[defaults setObject:[NSNumber numberWithFloat:slider.value] forKey:@"Slider"];

像以下一样挽回它:

NSNumber *strValue =   [defaults objectForKey:@"Slider"];

答案 1 :(得分:0)

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithFloat:slider.value] forKey:@"sliderValue"];

我相信你应该将值存储为浮点数(UISlider值的原始类型),它只是更干净,并且您可能希望重新使用浮点值来重新打开屏幕时重新打开屏幕:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[self.slider setValue:[[defaults objectForKey@"sliderValue"] floatValue]];