Junior — Middle
Bellek yönetim sistemlerinde zayıf referanslar nerede ve nasıl uygulanır?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'ta zayıf referanslar (weak references), otomatik referans sayımı (ARC) bellek yönetimi sistemi seviyesinde uygulanır. Bunlar, bellek sızıntılarına yol açabilecek güçlü referans döngülerini önlemek için kullanılır.
Zayıf bir referans, nesnenin referans sayacını artırmaz, bu nedenle nesne, zayıf referanslar olsa bile serbest bırakılabilir. Nesne serbest bırakıldıktan sonra, zayıf referanslar otomatik olarak nil olur.
Uygulama:
- Objective-C ve Swift'te, zayıf referanslar
__weak(Objective-C) veyaweak(Swift) anahtar kelimesiyle ilan edilir. - ARC, güçlü ve zayıf referansları izler ve nesne, güçlü referanslar kalmadığında serbest bırakılır.
Swift'te örnek:
class Person {
weak var delegate: SomeDelegate? // zayıf referans
}
Bu şekilde, zayıf referanslar derleyici ve çalışma zamanında ARC tarafından uygulanır, böylece döngüsel nesne tutma olmadan otomatik bellek yönetimi sağlanır.