standardUserDefaults 有什么用?

发布于 2024-12-09 20:36:37 字数 1720 浏览 0 评论 0原文

我是 iPhone 编程新手。请解释一下这段代码。这就是standardUserDefaults 的使用?这段代码将如何工作?

-(void)load
  {
DLog("Load Configuration");

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

bool savedDefaults = [defaults boolForKey:kKeySavedDefaults];
if (savedDefaults)
{
    columns = [defaults integerForKey:kKeyColumns];
    if (columns == 0) columns = kColumnsDefault;

    rows = [defaults integerForKey:kKeyRows];
    if (rows == 0) rows = kRowsDefault;

    photoType = [defaults integerForKey:kKeylastPhotoType];
    photoEnabled = [defaults boolForKey:kKeyPhotoEnabled];
    numbersEnabled = [defaults boolForKey:kKeyNumbersEnabled];
    soundEnabled = [defaults boolForKey:kKeySoundEnabled];
}
else
{
    columns = kColumnsDefault;
    rows = kRowsDefault;
    photoType = klastPhotoTypeDefault;
    photoEnabled = kPhotoEnabledDefault;
    numbersEnabled = kNumbersEnabledDefault;
    soundEnabled = kSoundEnabledDefault;
}
}
-(void)save
    {
    DLog("Save Configuration");
    BOOL restart = NO;

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if ([defaults integerForKey:kKeyColumns] != columns) { restart = YES; }
    if ([defaults integerForKey:kKeyRows] != rows) { restart = YES; }

    [defaults setBool:YES forKey:kKeySavedDefaults];
    [defaults setInteger:columns forKey:kKeyColumns];
    [defaults setInteger:rows forKey:kKeyRows];
    [defaults setInteger:photoType forKey:kKeylastPhotoType];
    [defaults setBool:photoEnabled forKey:kKeyPhotoEnabled];
    [defaults setBool:numbersEnabled forKey:kKeyNumbersEnabled];
    [defaults setBool:soundEnabled forKey:kKeySoundEnabled];
    [defaults synchronize];

     [board configChanged:restart];
 }

I am new in iphone programming. please explain me this code. and that is the use of standardUserDefaults? how this code will work?

-(void)load
  {
DLog("Load Configuration");

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

bool savedDefaults = [defaults boolForKey:kKeySavedDefaults];
if (savedDefaults)
{
    columns = [defaults integerForKey:kKeyColumns];
    if (columns == 0) columns = kColumnsDefault;

    rows = [defaults integerForKey:kKeyRows];
    if (rows == 0) rows = kRowsDefault;

    photoType = [defaults integerForKey:kKeylastPhotoType];
    photoEnabled = [defaults boolForKey:kKeyPhotoEnabled];
    numbersEnabled = [defaults boolForKey:kKeyNumbersEnabled];
    soundEnabled = [defaults boolForKey:kKeySoundEnabled];
}
else
{
    columns = kColumnsDefault;
    rows = kRowsDefault;
    photoType = klastPhotoTypeDefault;
    photoEnabled = kPhotoEnabledDefault;
    numbersEnabled = kNumbersEnabledDefault;
    soundEnabled = kSoundEnabledDefault;
}
}
-(void)save
    {
    DLog("Save Configuration");
    BOOL restart = NO;

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if ([defaults integerForKey:kKeyColumns] != columns) { restart = YES; }
    if ([defaults integerForKey:kKeyRows] != rows) { restart = YES; }

    [defaults setBool:YES forKey:kKeySavedDefaults];
    [defaults setInteger:columns forKey:kKeyColumns];
    [defaults setInteger:rows forKey:kKeyRows];
    [defaults setInteger:photoType forKey:kKeylastPhotoType];
    [defaults setBool:photoEnabled forKey:kKeyPhotoEnabled];
    [defaults setBool:numbersEnabled forKey:kKeyNumbersEnabled];
    [defaults setBool:soundEnabled forKey:kKeySoundEnabled];
    [defaults synchronize];

     [board configChanged:restart];
 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰雪梦之恋 2024-12-16 20:36:37

用户默认值用于存储少量配置参数。

来自文档

NSUserDefaults 类提供了一个编程接口
与默认系统交互。默认系统允许
应用程序自定义其行为以匹配用户的偏好。
例如,您可以允许用户确定什么单位
测量您的应用程序显示的内容或文档的出现频率
自动保存。应用程序通过分配来记录此类偏好
用户默认数据库中的一组参数的值。这
参数被称为默认值,因为它们通常用于
确定应用程序启动时的默认状态或其行为方式
默认情况下。

User defaults are used to store little configuration parameters.

From the documentation :

The NSUserDefaults class provides a programmatic interface for
interacting with the defaults system. The defaults system allows an
application to customize its behavior to match a user’s preferences.
For example, you can allow users to determine what units of
measurement your application displays or how often documents are
automatically saved. Applications record such preferences by assigning
values to a set of parameters in a user’s defaults database. The
parameters are referred to as defaults since they’re commonly used to
determine an application’s default state at startup or the way it acts
by default.

情栀口红 2024-12-16 20:36:37

如果你想存储一些少量的数据,例如用户名,密码......通过使用这些概念,你可以存储值

If you want to store some small amount of data like username,password...... by using these concept you can store the values

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文