Присвоение синглтона переменной (Swift)
Это анти-паттерн иметь следующий код?
Я хочу иметь синглтон (ClassB) в качестве переменной, чтобы у меня была какая-то инъекция зависимостей при использовании синглтона. Но мне намекали, что без слабости mySingleton у меня могут возникнуть утечки памяти. Но я не могу думать ни о каком таком сценарии...
class ClassA {
var mySingleton: ClassB? = ClassB.shared
deinit {
print("deinit A")
}
}
class ClassB {
static let shared = ClassB()
deinit {
print("deinit B")
}
}
var a1: ClassA? = ClassA()
var b1: ClassB? = ClassB()
a1?.mySingleton = b1
a1 = nil
b1 = nil
РЕДАКТИРОВАТЬ: внесены улучшения в код, хотя они не имеют отношения к вопросу, который заключается в том, является ли это анти-шаблон, чтобы назначить переменную синглтон и, особенно, если это может вызвать утечки памяти