gpt4 book ai didi

Swift - 如何将单例设置为零

转载 作者:可可西里 更新时间:2023-11-01 01:06:22 24 4
gpt4 key购买 nike

我正在快速编写一个应用程序,并使用单例在整个应用程序中共享一个类对象 User。我希望能够在用户注销时将此单例设置为“nil”,以便当他们重新登录时旧属性不再存在(即名称、用户名等)。我希望有一种简单的方法可以将单例设置回 nil,而不必将每个属性都设置为 nil。

这是我在应用程序中用作 User.activeUser 的用户类:

class User: NSObject
{
class var activeUser : User? {
struct Static {
static let instance : User = User()
}
return Static.instance
}
}

我怎样才能改变它,这样下面的代码就不会给我一个警告并且实际上会消除单例对象:

User.activeUser = nil

最佳答案

这应该有效:

private var _SingletonSharedInstance:MyClass! = MyClass()

class MyClass {
let prop = "test"

class var sharedInstance : MyClass {
return _SingletonSharedInstance
}

init () {}

func destroy() {
_SingletonSharedInstance = nil
}
}

但是对象的引用仍然保留,所以你需要做一些额外的事情来使类中的方法调用无效。

关于Swift - 如何将单例设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398823/

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