Sobes.tech
Junior

Какви са модификаторите на паметта strong?

sobes.tech AI

Отговор от AI

Модификаторът strong поддържа силна препратка към обекта, предотвратявайки неговото деалокация, докато съществува поне една силна препратка. По подразбиране се използва за променливи, обявени без специални модификатори.

Пример:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Обект '\(name)' създаден")
    }

    deinit {
        print("Обект '\(name)' деалокиран")
    }
}

// силна препратка
var obj1: MyClass? = MyClass(name: "Първи")
// Друга силна препратка
var obj2: MyClass? = obj1

print("---")

// Задаване на nil на една препратка не води до деалокация
obj1 = nil
print("---")

// Задаване на последната силна препратка на nil води до деалокация
obj2 = nil
print("---")