最小限の実装
class SomeManager {
static let shared = SomeManager()
}
init メソッドを制限
設計によって init をさせたくないばいは -
class SomeManager {
static let shared = SomeManager()
private init() {}
}
必ず class
にすること
struct にすると、アサインするたびにコピーされ、新たなオブジェクトが作られるて、 singleton ではなくなりますので要注意です
struct SomeManager {
static let shared = SomeManager()
private init() {}
}
let someManager = SomeManager.shared