Swift – 在单例类中初始化?

Swift – 在单例类中初始化?,第1张

概述我有一个单独的类MyClass用于管理第三方sdk.在单身内部我有init方法. 我的问题是:每当我从像MyClass.shared.mymethod()这样的单例调用某些东西时调用init方法,或者为了调用init我必须调用var instance = MyClass()吗? 只有在第一次调用MyClass.shared时才会调用init 此时,MyClass的实例保存在共享静态常量中. 例 让 我有一个单独的类MyClass用于管理第三方sdk.在单身内部我有init方法.

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

只有在第一次调用MyClass.shared时才会调用init

此时,MyClass的实例保存在共享静态常量中.

让我们考虑一下这个Singleton类

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

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

如您所见,Singleton初始化字符串仅打印一次.这意味着init只被调用一次.

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

总结

以上是内存溢出为你收集整理的Swift – 在单例类中初始化?全部内容,希望文章能够帮你解决Swift – 在单例类中初始化?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1031892.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存