Sobes.tech
Junior — Middle

În ce context sau în ce circumstanțe este apelată metoda deinit în Swift?

sobes.tech AI

Răspuns de la AI

Metoda deinit în Swift este apelată automat înainte ca o instanță de clasă să fie eliminată din memorie. Este un destructor care permite eliberarea resurselor, închiderea fișierelor, anularea observatorilor și efectuarea altor operațiuni de curățare.

deinit este apelată în următoarele circumstanțe:

  • Când contorul de referințe al unui obiect ajunge la zero (ARC — gestionare automată a memoriei).
  • Înainte ca obiectul să fie deinițializat și memoria să fie eliberată.

Exemplu de utilizare a deinit:

class FileHandler {
    let fileName: String

    init(fileName: String) {
        self.fileName = fileName
        print("Fișier deschis: \(fileName)")
    }

    deinit {
        print("Fișier închis: \(fileName)")
    }
}

func exemplu() {
    let handler = FileHandler(fileName: "data.txt")
    // handler este utilizat în interiorul funcției
} // aici handler iese din domeniu, se apelează deinit

Prin urmare, deinit este util pentru gestionarea resurselor și curățare la distrugerea unui obiect.