【发布时间】:2012-02-06 19:05:23
【问题描述】:
我是 iOS 开发和移动应用程序开发的新手,我对要使用的 Objective C 和 MVC 模式有相当的了解,而且我从未做过任何 Mac 开发。
我很难理解NSUserDefaults 的用途?
我们已经有了像 PList 这样的东西,它将数据存储为 XML,我们有 SQLite,它是用于此类设备的轻量级数据库。
那我们为什么要有它呢?
它是否是我们应用程序的替代简单键值存储,就像我们在云上拥有不同类型的存储(如 RDBMS 和基于键值的 NoSQL 存储等)一样?
对于NSUserDefaults,Apple 文档说:-
“应用程序通过将值分配给用户默认数据库中的一组参数来记录此类偏好”
用户的默认数据库是什么意思?
我的猜测是,就像在任何多用户操作系统中一样,我们有不同的用户帐户,同样,在 Mac 中,我们可能有多个用户,每个用户都有一个数据库,应用程序将从该数据库中加载该用户保存的首选项.
那么,像 Mac OS X 一样,iOS 是否也有多个用户,并且取决于登录者NSUserDefaults 选择他/她的偏好?
如果我错了请告诉我。
【问题讨论】:
标签: ios objective-c nsuserdefaults