Рекомендуемый подход для реализации thread-safe singleton в Swift — использование static let свойства внутри класса или структуры.
class MyManager {
static let shared = MyManager()
private init() {}
}
static let свойства в Swift инициализируются лениво — экземпляр создаётся только при первом обращенииdispatch_once под капотомprivate init() предотвращает создание дополнительных экземпляров внешним кодом, обеспечивая паттерн singletondispatch_onceСвойства static let в Swift инициализируются лениво, то есть экземпляр синглтона создается только при первом обращении, а не при загрузке класса.
Новый — ещё не проверен сообществом
Вы