Sobes.tech
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.