Ios 类单例';s初始化cann';不能自动完成

Ios 类单例';s初始化cann';不能自动完成,ios,swift,initialization,singleton,Ios,Swift,Initialization,Singleton,我制作了一个单件课程,如下所示: class AccountManager { static let sharedInstance = AccountManager() private init(){ print("init is done if this message shows up") } } 我以为init方法会在我启动应用程序后自动实现,而无需先在某个地方调用AccountManager.sharedInstance,但实际上不会,除非先调

我制作了一个单件课程,如下所示:

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

Swift不提供运行时自动执行代码的机制。

在Objective-C中,您可以实现在类加载到内存时运行的方法,这是不允许的
在Swift.

中,静态类型属性被延迟初始化(并且只初始化一次),即它在第一次初始化时被初始化 访问权限,例如,如果您致电

let manager = AccountManager.sharedInstance

Swift不提供运行时自动执行代码的机制。

在Objective-C中,您可以实现在类加载到内存时运行的方法,这是不允许的
用Swift。

这很正常。必须在某个地方使用singleton才能创建。这很正常。“单身汉必须在某个地方被创造出来。谢谢你的决定性回答,@MartinR。”。(关于另一个问题,我甚至没有听说过“main.Swift”:-)谢谢你的果断回答,@MartinR。(关于另一个问题,我甚至没有听说过“main.Swift”:-)