Junior — Middle
Swiftda deinit usulining qachon va qanday sharoitlarda chaqirilishini qaysi kontekstda?
sobes.tech AI
AIdan javob
Swift'da deinit metodi, sinf sinfidan chiqarilmasidan oldin avtomatik chaqiriladi. Bu destruktor bo'lib, resurslarni bo'shatish, fayllarni yopish, kuzatuvchilarni bekor qilish va boshqa tozalash ishlarini bajarishga imkon beradi.
deinit quyidagi holatlarda chaqiriladi:
- Ob'ektga bo'lgan havolalar soni nolga teng bo'lsa (ARC — avtomatik xotira boshqaruvi).
- Ob'ekt deinitializatsiya qilinishi va xotira bo'shatilishi oldidan.
deinit ning foydalanish misoli:
class FileHandler {
let fileName: String
init(fileName: String) {
self.fileName = fileName
print("Fayl ochildi: \(fileName)")
}
deinit {
print("Fayl yopildi: \(fileName)")
}
}
func misol() {
let handler = FileHandler(fileName: "data.txt")
// handler funksiyada ishlatiladi
} // bu yerda handler doiradan chiqadi, deinit chaqiriladi
Shu sababli, deinit resurslarni boshqarish va ob'ekt yo'q qilinishida tozalash uchun foydalidir.