gpt4 book ai didi

Swift - 在单例类中初始化?

转载 作者:IT王子 更新时间:2023-10-29 05:46:49 24 4
gpt4 key购买 nike

我有一个单例类 MyClass 用于与第三方 sdk 的管理工作。在单例中,我有 init 方法。

我的问题是:每次我从像 MyClass.shared.mymethod() 这样的单例中调用某些东西时,是否调用了 init 方法,或者为了调用 init 我必须调用var instance = MyClass() ?

最佳答案

init 仅在您第一次调用 MyClass.shared 时被调用

此时 MyClass 的实例保存在 shared 静态常量中。

例子

让我们考虑这个单例类

final class Singleton {
static let shared = Singleton()
private init() {
print("Singleton initialized")
}

var count = 0
}

现在让我们看看控制台的输出

enter image description here

如您所见,Singleton initialized 字符串仅打印一次。这意味着 init 只被调用一次。

Note: Of course I assumed the implementation of your Singleton class is correct.

关于Swift - 在单例类中初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438080/

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