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.