Sobes.tech
Junior
176
questionbank

Что такое модификаторы памяти strong?

AI答案

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("---")