Назад к вопросам
Junior
129
questionbank
Что такое модификаторы памяти strong?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Модификатор strong удерживает сильную ссылку на объект, предотвращая его деаллокацию до тех пор, пока существует хотя бы одна сильная ссылка. Используется по умолчанию для переменных, объявленных без специальных модификаторов.
Пример:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Объект '\(name)' создан")
}
deinit {
print("Объект '\(name)' деаллоцирован")
}
}
// strong ссылка
var obj1: MyClass? = MyClass(name: "Первый")
// Другая strong ссылка
var obj2: MyClass? = obj1
print("---")
// Обнуление одной ссылки не приводит к деаллокации
obj1 = nil
print("---")
// Обнуление последней strong ссылки приводит к деаллокации
obj2 = nil
print("---")