macOS

Swift保存用户配置的两种方法

2017-05-04  本文已影响81人  野比大雄001

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)")

上一篇下一篇

猜你喜欢

热点阅读