如何使用NSUserDefaults中的值初始化分段控件

时间:2014-01-13 07:07:32

标签: ios nsuserdefaults uisegmentedcontrol

我的UISegmentedControl不会保持选中状态。我已经确定momentary是NO。所以我在这里遇到的解决方案没有帮助。

请有人能指出我正确的方向吗?

修改

我想我可能会让这个问题更清楚一点。

我有一个UISegmentedControl,它有四个选项(10,20,30,40),它会更改我的测验页面上提出的问题数量。选择工作正常并改变问题的数量。

但是当我离开那个视图并稍后再回来改变问题的数量时,即使我选择了其他内容,它也会显示为10。

如何让它显示实际选定的值?

编辑

问题数量保存在NSUserDefaults中。

[[NSUserDefaults standardUserDefaults] setInteger:amountOfQuestions forKey:@"Amount"]

如何使用NSUserDefaults中的值初始化分段控件?

编辑 - 解决了

#SettingsViewController .m file.
- (void)viewDidLoad
{
amountOfQuestions = [[NSUserDefaults standardUserDefaults] integerForKey:@"Amount"];
if (amountOfQuestions == 10) {
mySegment.selectedSegmentIndex = 0;
}

我的IBAction中没有以下代码用于我的分段控件。所以当我尝试上面的代码时它没有用。现在它起作用了。

[[NSUserDefaults standardUserDefaults]synchronize]; 

1 个答案:

答案 0 :(得分:0)

#SettingsViewController .m file.
- (void)viewDidLoad
{
amountOfQuestions = [[NSUserDefaults standardUserDefaults] integerForKey:@"Amount"];
if (amountOfQuestions == 10) {
mySegment.selectedSegmentIndex = 0;
}

我的IBAction中没有以下代码用于我的分段控件。所以当我尝试上面的代码时它没有用。现在它起作用了。

[[NSUserDefaults standardUserDefaults]synchronize];