gpt4 book ai didi

ios - 类单例初始化不能自动完成

转载 作者:行者123 更新时间:2023-11-28 10:14:59 25 4
gpt4 key购买 nike

我做了一个单例类如下:

class AccountManager
{
static let sharedInstance = AccountManager()

private init(){
print("init is done if this message shows up")
}
}

我认为 init 方法会在我启动应用程序后自动执行,而无需先在某个地方调用 AccountManager.sharedInstance,但实际上它不会执行,除非调用AccountManager.sharedInstance 特别是第一个。

这种行为是正常的还是我做错了什么?

最佳答案

静态类型属性是惰性初始化的(并且只有一次),即它在第一次初始化时被初始化访问,例如如果你打电话

let manager = AccountManager.sharedInstance

AccountManager.sharedInstance.someMethod()

Swift 没有在运行时自动执行代码的机制。

在 Objective-C 中你可以实现一个 + (void)load;类加载到内存时运行的方法,这是不允许的在 Swift 中。

关于ios - 类单例初始化不能自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453579/

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