小编gab*_*elk的帖子

为什么使用registerDefaults:而不是setValue:forKey:?

当我为我的应用设置默认首选项时,我正在执行以下操作:

1)Root.plist从里面读到Settings.bundle字典.

2)我测试是否设置了首选项,如果不是,我通过注册我的默认字典 [NSUserDefaults standardUserDefaults] registerDefaults:]

问题是,注册的默认值registerDefaults:不会转到持久性存储,因此如果用户从不更改其首选项,我将读取默认首选项并在NSUserDefaults每次启动应用时注册它们.

而不是使用registerDefaults:我可以使用setValue:forKey:并将我的默认设置转到持久性存储,绕过了在每次启动时构建和注册字典的需要.但是,Apple的文档示例代码都指向registerDefaults:.

所以我想弄清楚我何时以及为什么要使用registerDefaults:以及何时/为什么要使用setValue:forKey:

nsuserdefaults ios

5
推荐指数
1
解决办法
2486
查看次数

标签 统计

ios ×1

nsuserdefaults ×1