iOS:如何创建"用户首选项"功能

Oha*_*gev 3 singleton static setting nsuserdefaults ios

我有一个基于UINavigationController的应用程序; 我想添加一个"设置"页面,用户可以在其中设置一些功能,如语言和其他一些偏好.目前的UIViewController,我希望有设置字段是RootViewController的下2级(即有一个"主视图" >>你点击一个按钮,并输入另一个UIViewController中,形成有你应该能够进入系统设置的UIViewController ).

我不清楚我应该如何保存这些数据以及如何在应用程序加载时调用它.

我读了一些关于NSUserDefaults和关于Singleton的博客,但我不清楚我应该如何使用它们.

我应该在哪里创建稍后将维护用户首选项的数据属性?我应该在AppDelegate或MySettingsViewController(我正在创建的UIViewController)上创建它们吗?

我应该使用Singleton属性吗?如果是,应该在哪里创建它?

当你说"Singleton"时,你的意思是创建一个静态属性吗?

是否有不直接连接一个与另一个2和控制器之间的通信的另一种方式(I可以从"底部"的ViewController传输数据经由的UIViewController传递在中间的RootViewController的,但它似乎怪异的和无效的)?

任何方向/教程将不胜感激!

Jac*_*ies 12

绝对使用NSUserDefaults.这很好,Apple推荐它.

要设置设置:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"Setting 1"];
Run Code Online (Sandbox Code Playgroud)

您还可以存储其他内容,例如文本,数字等.这不仅仅是一个简单的布尔值.

要检查设置:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"Setting 1"]) {
    //ok, do the thing here
}
Run Code Online (Sandbox Code Playgroud)