Junior — Middle
V akom kontexte alebo za akých okolností sa volá metóda deinit v Swift?
sobes.tech AI
Odpoveď od AI
Metóda deinit v jazyku Swift sa volá automaticky predtým, než bude inštancia triedy odstránená z pamäte. Ide o deštruktor, ktorý umožňuje uvoľniť zdroje, zatvoriť súbory, zrušiť pozorovateľov a vykonať iné čistiace operácie.
deinit sa volá v týchto situáciách:
- Keď počet odkazov na objekt dosiahne nulu (ARC — automatické riadenie pamäte).
- Predtým, než bude objekt de-inicializovaný a pamäť uvoľnená.
Príklad použitia deinit:
class FileHandler {
let fileName: String
init(fileName: String) {
self.fileName = fileName
print("Súbor otvorený: \(fileName)")
}
deinit {
print("Súbor zatvorený: \(fileName)")
}
}
func príklad() {
let handler = FileHandler(fileName: "data.txt")
// handler sa používa vo vnútri funkcie
} // tu handler opúšťa rozsah, volá sa deinit
Takže, deinit je užitočný na správu zdrojov a čistenie pri zániku objektu.