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