美文网首页macOS
Swift保存用户配置的两种方法

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

作者: 野比大雄001 | 来源:发表于2017-05-04 13:52 被阅读81次

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

    相关文章

      网友评论

        本文标题:Swift保存用户配置的两种方法

        本文链接:https://www.haomeiwen.com/subject/zynrtxtx.html