Junior — Middle
Оё структура ё ёрига дор аст ё методи тоза кардани захираҳо ё деструктор дорад?
sobes.tech AI
Ҷавоб аз AI
Дар Swift, структураҳо (struct) ягон деструктор надоранд, зеро онҳо навъҳои арзишӣ ҳастанд ва автоматӣ идора мешаванд. Классҳо (class), баръакс, метавонанд деструктор дошта бошанд — усули deinit, ки пеш аз озод кардани нусха аз ёдгирӣ, фаро хонда мешавад. Дар деструктор одатан захираҳо озод карда мешаванд, файлҳо мебанданд, обунаҳоро бекор мекунанд ва ғайра.
Масалан, дар клас бо деструктор:
class FileHandler {
let fileName: String
init(fileName: String) {
self.fileName = fileName
print("Файл кушода шуд \(fileName)")
}
deinit {
print("Файл баста шуд \(fileName)")
}
}
var handler: FileHandler? = FileHandler(fileName: "data.txt")
handler = nil // deinit-ро даъват мекунад
Аз ин рӯ, танҳо классҳо дорои deinit деструктор ҳастанд, структураҳо — не.