1.user defaults system等同于Cocoa框架中的 preferences system,用于存储用户设置/配置,主要是存在本地。
2.key-value store是可以存在iCloud云端(属于键值存储)。
3.上面两种方法都只是用于存储简单数据,默认保存在一个属性列表里面。如果想要存储复杂的数据,可以将其编码为NSData再存储。存取本地的用户配置的话,iOS使用:NSUserDefaults,MAC OS X用:NSUserDefaults或NSUserDefaultsController。
4.用明文保存用户名和密码,可以用NSUserDefaults(不推荐的做法)
NSUserDefaults.standardUserDefaults().setValue(usernameTextField.text, forKey: StrUsernameKey)
NSUserDefaults.standardUserDefaults().setValue(passwordTextField.text, forKey: StrPasswordKey)
let storedUsername = NSUserDefaults.standardUserDefaults().stringForKey(StrUsernameKey)
let storedPassword = NSUserDefaults.standardUserDefaults().stringForKey(StrPasswordKey)
print("storedUsername=\(storedUsername)")
print("storedPassword=\(storedPassword)")
5.用加密的方式保存用户名和密码(推荐的做法)
let StrUsernameKey:String = "username"
let StrPasswordKey:String = "password"
let saveSuccessful:Bool=KeychainWrapper.setString(usernameTextField.text!, forKey:StrUsernameKey)
print("saveSuccessful=\(saveSuccessful)")
let retrievedString: String? = KeychainWrapper.stringForKey(StrUsernameKey)
print("retrievedString=\(retrievedString)")
let removeSuccessful: Bool = KeychainWrapper.removeObjectForKey(StrUsernameKey)
print("removeSuccessful=\(removeSuccessful)")
let retrievedStringAfterDelete: String? = KeychainWrapper.stringForKey(StrUsernameKey)
print("retrievedStringAfterDelete=\(retrievedStringAfterDelete)")
网友评论