Sobes.tech
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) veya weak (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.