尝试保存滑块的位置:
使用NSUserDefaults保存我的滑块值:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithFloat:slider.value] forKey:@"slider"];
在我的ViewdidLoad方法中:
NSNumber *sliderValue = [defaults objectForKey:@"Slider"];
[slider setValue:sliderValue];
在我的setValue方法下,我收到错误:将NSNumber * _ strong发送到不兼容类型的float参数。任何帮助将不胜感激。
答案 0 :(得分:2)
该行:
[slider setValue:sliderValue];
需要:
[slider setValue:[sliderValue floatValue]];
value
的{{1}}属性属于slider
类型。您不能简单地传递float
参考。
BTW - NSNumber
直接支持NSUserDefaults
值:
float
答案 1 :(得分:0)
在viewDidLoad中,
而不是:
NSNumber *sliderValue = [defaults objectForKey:@"Slider"];
写:
float sliderValue = [[defaults objectForKey:@"Slider"] floatValue];
setValue
将float
作为参数,而您提供的内容为NSNumber
,因此会引发错误。