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