Swift2 是否全局存储用户ID和密码?

Swift2 是否全局存储用户ID和密码?,swift2,Swift2,我正试图通过向web服务器发送POST请求来创建登录过程。post字符串包含用户在文本字段中键入的用户名和密码 作为响应,我得到了用户ID和一个SHA1加密密码。因为我需要它们来访问服务器上的其他页面,所以我必须将它们全局存储在我的项目中 所以我的问题是,最好的方法是什么?我应该创建一个类用户,将这些项存储为属性吗 您真的应该在钥匙链中存储这些细节。你也不希望这些细节被保存在内存中,因为这样更容易被窃取。您可以创建一个类,该类是此密钥链访问的包装器,并且无论何时请求,您都可以从密钥链提取值(因此

我正试图通过向web服务器发送POST请求来创建登录过程。post字符串包含用户在文本字段中键入的用户名和密码

作为响应,我得到了用户ID和一个SHA1加密密码。因为我需要它们来访问服务器上的其他页面,所以我必须将它们全局存储在我的项目中


所以我的问题是,最好的方法是什么?我应该创建一个类用户,将这些项存储为属性吗

您真的应该在钥匙链中存储这些细节。你也不希望这些细节被保存在内存中,因为这样更容易被窃取。您可以创建一个类,该类是此密钥链访问的包装器,并且无论何时请求,您都可以从密钥链提取值(因此,如果由于用户锁定了密钥链而无法访问,则这些值将不可用)。

您可以使用两种不同的方法来完成此操作

01:-

当您注销或想要清除存储的数据时,只需使用

NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.mainBundle().bundleIdentifier!)
02:-

  • 首先创建一个全局类

    import Foundation
    
    
    class User {
    class var sharedInstance: User {
    struct Static {
        static var instance: User?
        static var token: dispatch_once_t = 0
    }
    
    dispatch_once(&Static.token) {
        Static.instance = User()
    }
    
    return Static.instance!
    
    }

    }

  • 然后将数据存储在所需的类中

    class ViewController: UIViewController { 
    
      let user = User.sharedInstance
    
    
     override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    
        if segue.identifier == "showDetails" {
    
    
                self.user.userId = Id
                self.user.VId = VacancyId
    
    
            }
    
        }
    
    
    
     }
    
    然后检索数据:-

     class ViewController: UIViewController { 
    
      let user = User.sharedInstance
    
    
                mylabel.text = self.user.userId 
                mylabael2.text = self.user.VId
    
    
    
    
     }
    
    你可以查一下。它是使用类中的
    静态
    变量实现的。
    class ViewController: UIViewController { 
    
      let user = User.sharedInstance
    
    
     override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    
        if segue.identifier == "showDetails" {
    
    
                self.user.userId = Id
                self.user.VId = VacancyId
    
    
            }
    
        }
    
    
    
     }
    
     class ViewController: UIViewController { 
    
      let user = User.sharedInstance
    
    
                mylabel.text = self.user.userId 
                mylabael2.text = self.user.VId
    
    
    
    
     }