Junior — Middle
Swift-də digər dillərdəki GC-yə bənzər avtomatik çöp toplanması var mı?
sobes.tech Süni İntellekt
AI-dan cavab
Swift-də klassik anlamda avtomatik çöp toplayıcı (GC) istifadə edilmir, Java və ya C# kimi. Bunun yerinə, Swift avtomatik referans sayımı (ARC — Automatic Reference Counting) sistemini tətbiq edir. ARC avtomatik olaraq obyektə olan referansların sayını izləyir və referanslar qalmadıqda yaddaşı azad edir.
Misal:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // referansların sayı artırılır
person1 = nil // obyekt hələ də yaşayır, çünki person2 ona istinad edir
person2 = nil // indi obyekt azad edilir
Beləliklə, ARC avtomatik işləyir, lakin ənənəvi çöp toplayıcıların xarakterik olduğu fasilələr və əlavə xərclər olmadan.