【发布时间】:2011-01-25 07:08:41
【问题描述】:
NSUserDefaults 中存储的值是否针对特定用户登录?假设如果不同的用户在同一设备上登录应用程序,他是否能够看到用户 1 使用 NSUserDefaults 登录同一设备时保存的持久数据?
【问题讨论】:
标签: iphone cocoa nsuserdefaults
NSUserDefaults 中存储的值是否针对特定用户登录?假设如果不同的用户在同一设备上登录应用程序,他是否能够看到用户 1 使用 NSUserDefaults 登录同一设备时保存的持久数据?
【问题讨论】:
标签: iphone cocoa nsuserdefaults
如果您在 NSUserDefault 中保存任何内容,则可以通过密钥访问它(保存时相同)。 不考虑日志记录。无论您使用特定密钥输入什么内容,都可以访问它。
所以你可以说保存在 NSUserDefault 中的值对所有用户都保持不变。
【讨论】:
是的。虽然我不确定您所说的“在同一设备上登录应用程序”是什么意思,但您存储在 NSUserDefaults 中的任何内容都可以被其他任何人访问。您负责重置值,以便其他使用它的人无法访问以前存储的值。
例如,当使用 Facebook iPhone SDK 时,您将存储此人的访问令牌,这样他/她就不必再次登录。如果其他人在第一个人退出之前出现并使用了该应用程序,他/她将有权访问第一个人的帐户。当此人从您的应用中退出 Facebook 时,您必须删除 NSUserDefaults 中的值,这样其他人就无法访问此人的帐户。
希望这会有所帮助!
【讨论】: