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