Sobes.tech
Junior

Kas ir strong atmiņas modifikatori?

sobes.tech AI

Atbilde no AI

strong modifikators saglabā stipru atsauci uz objektu, novēršot tā deallocāciju, kamēr pastāv vismaz viena stipra atsauce. Parasti tas tiek izmantots mainīgajiem, kas deklarēti bez īpašiem modifikatoriem.

Piemērs:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objekts '\(name)' izveidots")
    }

    deinit {
        print("Objekts '\(name)' deallocēts")
    }
}

// stipra atsauce
var obj1: MyClass? = MyClass(name: "Pirmais")
// Cita stipra atsauce
var obj2: MyClass? = obj1

print("---")

// Vienas atsauces iestatīšana uz nil neizraisa deallocāciju
obj1 = nil
print("---")

// Pēdējās stiprās atsauces iestatīšana uz nil izraisa deallocāciju
obj2 = nil
print("---")