Swift ARC Nedir?

Ahmet Berkay Yalçın
Kariyer.net Tech
Published in
2 min readJul 20, 2024

--

ARC Nedir?

Swift dilinde, ARC (Automatic Reference Counting), belleği yönetmek ve uygulamanızın bellek kullanımını optimize etmek için kullanılan bir teknolojidir. Bu sistem, nesnelerin yaşam döngüsünü otomatik olarak yönetir ve kullanmadığınız nesneleri otomatik olarak temizler.

ARC Nasıl Çalışır?

ARC, her bir nesneye bir referans sayacı (reference count) atar. Bu sayaç, nesneye kaç tane güçlü referans (strong reference) olduğunu takip eder. Referans sayacı sıfıra düştüğünde, ARC bu nesneyi bellekten otomatik olarak temizler.

Güçlü ve Zayıf Referanslar

Güçlü referanslar (strong references), nesnenin bellekte tutulmasını sağlar. Eğer bir nesneye güçlü bir referans varsa, bu nesne bellekten temizlenmez. Zayıf referanslar (weak references) ise, nesnenin referans sayısını artırmaz ve bu sayede döngüsel referanslardan (retain cycles) kaçınmanıza yardımcı olur.

Örnek;

class Person {
let name: String

init(name: String) {
self.name = name
print("\(name) initialized")
}

deinit {
print("\(name) deinitialized")
}
}

var person1: Person? = Person(name: "John")
var person2: Person? = person1

person1 = nil
person2 = nil

--

--