Назад к вопросам
Junior
76
questionbank
Что такое модификаторы памяти strong?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Модификатор strong в Swift указывает, что ссылка на объект увеличивает счетчик ссылок на этот объект на единицу. Это означает, что объект будет храниться в памяти до тех пор, пока существует хотя бы одна сильная ссылка на него.
Используется по умолчанию для ссылочных типов (классов). Присваивание nil к переменной с модификатором strong уменьшает счетчик ссылок. Когда счетчик ссылок становится равным нулю, объект освобождается из памяти.
Пример:
class Person {
var name: String
init(name: String) {
self.name = name
print("\(name) is being initialized")
}
deinit {
print("\(name) is being deinitialized")
}
}
var reference1: Person?
var reference2: Person?
reference1 = Person(name: "Alice") // Счет1к ссылок на Alice: 1
reference2 = reference1 // Счет1к ссылок на Alice: 2
reference1 = nil // Счет1к ссылок на Alice: 1
reference2 = nil // Счет1к ссылок на Alice: 0, Alice деинициализируется