Junior — Middle
Bir nesneye zayıf referans hangi durumlarda kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'ta zayıf referans (weak reference), güçlü referans döngülerini (retain cycles) önlemek için kullanılır, bu da bellek sızıntılarına yol açabilir. Nesnenin referans sayacını artırmaz, bu nedenle nesne, zayıf referanslar olsa bile serbest bırakılabilir.
Zayıf referansların tipik kullanım durumları:
- Delegeler: genellikle
weakolarak ilan edilirler, böylece nesne ile delegesi arasında döngü önlenir. - Kapanışlar (closures): Bir kapanış
self'i yakalarsa, döngüyü önlemek için[weak self]kullanılır. - Nesneler arasındaki bağlantılar, bir nesnenin diğerine sahip olduğu durumlar ve diğer nesnenin sahip olmadan referansa sahip olması gereken durumlar.
Delegatör ile örnek:
protocol SomeDelegate: AnyObject {
func didUpdate()
}
class SomeClass {
weak var delegate: SomeDelegate?
}
Bu şekilde, zayıf referans bellek yönetimine yardımcı olur ve sızıntıları önler.