我需要使用NSUserDefaults
创建一个应用程序。
在我的第一个视图中,我将输入密码。在第二个视图中,我将输入确认密码。然后验证将发生;之后如果密码在两个视图中都匹配,则会打开成功窗口。之后会有一些意见。我需要将密码保存在NSUserDefaults
以备将来使用。
如果我在验证后关闭我的应用程序,那么如果我现在将构建并再次运行我的应用程序,则密码验证窗口不应该打开。
只有一个视图会询问密码,如果当前密码等于终止应用程序密码之前,则应用程序的成功视图将打开。现在,验证应该与当前密码进行比较NSUserDefaults
的值[即旧密码,在终止我的应用程序之前存储]。
可以使用NSUserDefaults
?
答案 0 :(得分:11)
<强>目标-C:强>
保存默认值
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
要检索
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
<强>夫特:强>
var userDefaults : NSUserDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setObject("TextToSave", forKey: "keyToLookupString")
//To retrieve
let mySavedObject = userDefaults.objectForKey(@"keyToLookupString")
无论如何只是一个提示不会在NSUserdefaults中存储密码。使用钥匙串存储安全数据。
答案 1 :(得分:8)
请勿使用NSUserDefaults来保存用户密码!这不安全。您应该将密码存储在加密的密钥链中,这里有一个小的包装类,可以很容易地将用户名/密码保存到钥匙串中:
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code