我创建了一个应用程序,它将使用用户名,密码登录,并允许用户从服务器下载文件。在我的应用程序中,一旦用户登录应用程序,我必须保留少量数据。
保留用户名,密码,用户下载列表,订阅计划等数据。数据可以通过NSUserDefaults,Plist等保存在应用程序中。但我觉得使用NSUserDefaults存储和检索值很容易。由于我需要在许多视图控制器中使用这些值,我更喜欢NSUserDefaults
。
这是最佳做法吗?使用太多NSUserDefaults
会导致陷阱?
告诉我还有其他方法来保存数据并在cocoa-touch中轻松检索它吗?
答案 0 :(得分:2)
您可以使用NSUserDefaults
存储用户数据。
但对于Username
和Password
等高度敏感的数据,我更喜欢keychain
来存储它们。
请检查以下链接以获取钥匙串:
答案 1 :(得分:2)
在我看来,如果你想存储很少的数据,比如用户名,密码或一些BOOL,你可以使用NSUserDefaults。
由于NSUserDefaults是常见的plist,如果您想存储一些数据(如下载链接),最好使用自定义plist。
如果你想存储一些大数据,比如UIImage,你可以使用NSCache,但它可能会驱逐数据。
如果要存储大量数据,最好使用数据库。
答案 2 :(得分:0)
我会考虑使用像https://github.com/kishikawakatsumi/UICKeyChainStore这样的库,它只是ios钥匙串存储的一个非常好的包装器,并将敏感数据存储在用户钥匙串中,而不是用户默认的plist,因为它更安全。< / p>
至于数据是否不安全,没有理由你不能将它们写出来并加载回来?