Junior — Middle
V jakém kontextu nebo za jakých okolností je volána metoda deinit ve Swiftu?
sobes.tech AI
Odpověď od AI
Metoda deinit v jazyce Swift je volána automaticky před tím, než bude instance třídy odstraněna z paměti. Jedná se o destruktor, který umožňuje uvolnit zdroje, zavřít soubory, zrušit pozorovatele a provést jinou úklidovou činnost.
deinit je volána za následujících okolností:
- Když počet odkazů na objekt dosáhne nuly (ARC — automatické řízení paměti).
- Před tím, než bude objekt de-inicializován a paměť uvolněna.
Příklad použití deinit:
class FileHandler {
let fileName: String
init(fileName: String) {
self.fileName = fileName
print("Soubor otevřen: \(fileName)")
}
deinit {
print("Soubor zavřen: \(fileName)")
}
}
func priklad() {
let handler = FileHandler(fileName: "data.txt")
// handler je použit uvnitř funkce
} // zde handler opouští rozsah, volá se deinit
Tedy, deinit je užitečný pro správu zdrojů a čištění při zániku objektu.