概要
当需要全局访问某类的实例时,可以给该类创建单例。你可以创建自己的单例,以提供对 app 中共享的资源或服务的统一访问点,例如用于播放音效的音频通道或用于发出 HTTP 请求的 network manager。
创建单例
你可以通过 static
类型属性来创建一个简单的单例,即使同时多个线程访问,该属性也只会被初始化一次:123class Singleton { static let sharedInstance = Singleton()}
如果你需要在初始化阶段需要额外的设置步骤,你可以将给它赋值一个闭包:1234567class Singleton { static let sharedInstance: Singleton = { let instance = Singleton() // setup code return instance }()}
*原文链接