Sobes.tech
Junior — Middle

U kom kontekstu ili pod kojim okolnostima se poziva metoda deinit u Swift-u?

sobes.tech АИ

Одговор од АИ

Metoda deinit u Swift-u se automatski poziva pre nego što instanca klase bude uklonjena iz memorije. To je destruktor koji omogućava oslobađanje resursa, zatvaranje fajlova, otkazivanje posmatrača i obavljanje drugih operacija čišćenja.

deinit se poziva u sledećim okolnostima:

  • Kada broj referenci na objekat dostigne nulu (ARC — automatsko upravljanje memorijom).
  • Pre nego što objekat bude de-inicijalizovan i memorija oslobodjena.

Primer korišćenja deinit:

class FileHandler {
    let fileName: String

    init(fileName: String) {
        self.fileName = fileName
        print("Otvoren fajl: \(fileName)")
    }

    deinit {
        print("Fajl zatvoren: \(fileName)")
    }
}

func primer() {
    let handler = FileHandler(fileName: "data.txt")
    // handler se koristi unutar funkcije
} // ovde handler izlazi iz opsega, poziva se deinit

Tako je deinit koristan za upravljanje resursima i čišćenje pri uništavanju objekta.