我有一个MyClass用于第三方sdk管理工作的单例类.在单身内部我有init方法.
我的问题是:init每当我从单身人士调用某些东西时调用方法,MyClass.shared.mymethod()或者为了调用init我必须调用var instance = MyClass()吗?
Luc*_*tti 23
init被称为仅第一次调用MyClass.shared此时,实例将MyClass保存在shared静态常量中.
让我们考虑一下这个Singleton类
final class Singleton {
static let shared = Singleton()
private init() {
print("Singleton initialized")
}
var count = 0
}
Run Code Online (Sandbox Code Playgroud)
现在让我们看看控制台的输出
如您所见,Singleton initialized字符串只打印一次.这意味着init只被调用一次.
注意:当然我假设您的Singleton类的实现是正确的.
| 归档时间: |
|
| 查看次数: |
7269 次 |
| 最近记录: |