我有一个带有一些静态字段的结构,如下所示。
struct User {
static var userId: String?
static var email: String?
static var phone: String?
}
当用户登录时,会在其他视图控制器中设置和使用这些变量。当用户退出时,我想清除所有这些细节。是否有快速清除方法,或者我应该单独清除它们
User.userId = ""
User.email = ""
User.phone = ""
答案 0 :(得分:2)
您可以拥有一个可选的静态共享User
变量,而不是拥有静态变量,并在用户注销时将其设置为nil
:
struct User {
static var shared: User?
var userId: String?
var email: String?
var phone: String?
}
User.shared = nil // user logged out
User.shared = User(userId: ..., email: ..., phone: ...) // user logged in
答案 1 :(得分:1)
您可以在结构中设置一个函数来执行该操作或更好地将用户设置为nil
并检查应用中的nil逻辑