Junior — Middle
Swift'te diğer dillerdeki GC'ye benzer otomatik çöp toplama var mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Swift'te geleneksel anlamda çöp toplayıcı (GC) kullanılmaz, Java veya C# gibi. Bunun yerine, Swift otomatik referans sayımı (ARC — Automatic Reference Counting) sistemini kullanır. ARC, bir nesneye olan referans sayısını otomatik olarak izler ve referans kalmadığında belleği serbest bırakır.
Örnek:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // referans sayısı artar
person1 = nil // nesne hâlâ hayatta, çünkü person2 ona referans veriyor
person2 = nil // şimdi nesne serbest bırakılır
Bu şekilde, ARC otomatik olarak çalışır, ancak geleneksel çöp toplayıcıların karakteristik olduğu duraklamalar ve ek maliyetler olmadan çalışır.