2012-07-12 68 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蘋果的示例代碼,它在安全性方面更安全。