gpt4 book ai didi

ios - 注销时快速清除共享实例

转载 作者:行者123 更新时间:2023-12-01 16:13:41 26 4
gpt4 key购买 nike

我有一个共享实例用户配置文件类,我将使用它来维护整个应用程序中的用户详细信息,现在注销时,我想清除此共享实例类中的所有数据。以下是我当前 class 的示例声明

class UserProfile: NSObject {
static let sharedUserInstance = UserProfile()
var firstName: String?
var lastName: String?
var userType = UserType.student
var email: String!
var zipCode: String!
var profileImage: UIImage = Constants.defaultProfilePic
var hobbies: [String]?
var userPreferences: UserPreferences?
}

我想一次清除共享实例中的所有变量。一种解决方法是声明一个清除函数,并为每个对象设置nil,例如:
func clear() {
firstName = nil
lastName = nil
so on...
}

有没有更好或更简单的方法可以做到这一点,以便使 UserProfile.sharedUserInstance立即重置?

最佳答案

您可以为整个项目创建一个sigleton类,并将用户信息保存在该类中,并在注销时将nil分配给该对象

class Singleton {

private init() {}

static let shared = Singleton()

var userInfo:UserInfo?
}

在登录时,只需像这样从您的viewController分配用户信息对象即可
Singleton.shared.userInfo = your_object_to_save

并在注销时为其分配nil值
Singleton.shared.userInfo = nil

关于ios - 注销时快速清除共享实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58046932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com