将NSUserDefaults与多个xib一起使用

时间:2011-06-14 22:53:49

标签: iphone nsuserdefaults

我一直在关注创建一个包含多个xib的iPhone应用程序的教程。本教程描述了将所有代码放在View文件中,而不是View Controller。

我现在正在考虑使用NSDefaults从我的应用程序的选项屏幕保存设置,然后在用户返回选项屏幕时再次显示它。但问题是,设置没有重新加载。

在我的appdelegate.h文件中,我有:

NSInteger gMaxDistance;
@property (nonatomic) NSInteger gMaxDistance;

在我的appdelegate.m文件中,我有:

@synthesize gMaxDistance;

在我的OptionsView.m中,我得到了:

NSUserDefaults *AppSettings = [NSUserDefaults standardUserDefaults];
[AppSettings setInteger:(int)distanceSlider.value forKey:@"MaxDistance"];
[AppSettings synchronize];

如何正确回忆这个值以及代码需要去哪里?

如果我把它放在OptionsViewController.m viewDidLoad方法中,编译器会抱怨它找不到distanceSlider。

如果我把它放在initWithFrame方法的OptionsView.m文件中(找到我的所有对象),没有任何反应。

请帮助,这让我整天都打结!

1 个答案:

答案 0 :(得分:2)

你可以通过

获得
NSUserDefaults *appSettings = [NSUserDefaults standardUserDefaults];
int recalledDistance = [appSettings integerForKey@"MaxDistance"];

你可以从任何viewController中完成。