Nik*_*a P 2 singleton swift swift-protocols
我尝试将单行单例初始化(如在类中)用于单例,这是一些错误屏幕截图:

您能帮助我理解这些错误,以及是否可以实现单例协议吗?提前致谢
协议本身不能是单例。那没有任何意义。协议是其他类型遵循的协议。
但是,如果您想声明符合Singleton某些规则的事物(例如提供)sharedInstance,那很好。您的语法不正确。您需要使用varwith get而不是let。
protocol Singleton {
static var sharedInstance: Self { get }
}
Run Code Online (Sandbox Code Playgroud)
原则上,您可以通过提供默认实现自动创建此实例,但是Swift不允许您在扩展中创建存储。尽管可以通过某种全局缓存来实现这一点,但很难想象值得为此付出麻烦。
| 归档时间: |
|
| 查看次数: |
2709 次 |
| 最近记录: |