Swift2 是否全局存储用户ID和密码?
我正试图通过向web服务器发送POST请求来创建登录过程。post字符串包含用户在文本字段中键入的用户名和密码 作为响应,我得到了用户ID和一个SHA1加密密码。因为我需要它们来访问服务器上的其他页面,所以我必须将它们全局存储在我的项目中Swift2 是否全局存储用户ID和密码?,swift2,Swift2,我正试图通过向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
}