Jaikannan
Jaikannan

Reputation: 57

how to store slider values in ios

Hi I am using uislider and get the values in label. now i try to save the slider values. I don't know how to do this. If anybody knows please share the code. This is my code for slider changed. -(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];
}
}

Upvotes: 0

Views: 1063

Answers (2)

Midhun MP
Midhun MP

Reputation: 107121

You can use NSUserDefault for storing the slider value.

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

You can retrieve the data like:

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

The above code is saving the sliderLabel to the NSUserDefault. If you want to store the slider value in the form of float then use:

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

Retreive it like:

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

Upvotes: 2

JP Hribovsek
JP Hribovsek

Reputation: 6707

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

I believe you should store the value as a float (the original type for a UISlider value), it's just cleaner, and you'll probably want to reuse the float value to set back your slider when reopening the screen with something like:

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

Upvotes: 0

Related Questions