2012-07-12 78 views
0

我登录后查看&登录后显示了一些列表...所以我想保存用户名&密码,以便登录视图不会出现一次如果使用正确的ID,密码登录直接会显示在列表保存用户名和密码使用目标c

+2

请不要在'NSUserDefaults'中存储密码。很少有这种说法是正确的,到目前为止,您还没有给出任何迹象表明这是一个用户不关心安全性的应用程序。 – Nate 2012-07-12 08:51:11

+0

@Nate,我很惊讶有多少人选择使用NSUserDefaults。 – 2012-07-12 17:28:59

回答

4

正如其他人所建议的,您可以使用NSUserDefaults

如果你正在存储密码,那么我建议你也为此添加一个安全级别。你可以使用Secure NSUserDefaults(我没有亲自使用过这个,但是看到一些人报告它很有用)。你可以发现,here

或者你可以使用KeyChain API

3

如果你不关心加密,你可以保存这些非常简单地

[[NSUserDefaults standardUserDefaults] setValue:@"username" forKey:@"username"]; 
[[NSUserDefaults standardUserDefaults] setValue:@"secret" forKey:@"password"]; 

,检查程序启动期间

if (![[NSUserDefaults standardUserDefaults] valueForKey:@"username"]) { 
    // show the login screen 
} 
1

那些你可以在这样的NSUserDefaults的保存此:

NSUserDefaults *userDefaults = [NSUserDefaults standardDefaults]; 
[userDefaults [email protected]"YES" [email protected]"userDidLogin"]; 

你测试这样的:

NSUserDefaults *userDefaults = [NSUserDefaults standardDefaults]; 

if([userDefaults boolForKey:@"userDidLogin"]) 
{ 
.... // Go to the list View 
} 

这只是一个参考,如果你想使它工作,你应该显示你的代码如何实现登录界面的实现

0

有多种方式来保存用户名和密码.. 可以在UserDefalt除上述回答。 也可以保存在plist中。

1

NSUserDefaults只是一个设计用于定制应用程序偏好的便捷方式。在正常情况下,应用将保留在自己的沙箱中,因此其他应用将无法访问它。

但是,这并不是最好的选择。这不是一个好习惯。你真正需要的是钥匙串,看看here苹果的示例代码,它在安全性方面更安全。