Junior — Middle
Bir programlama dilinde zayıf bir referans nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS (Swift) üzerinde zayıf referans oluşturmak için weak anahtar kelimesi kullanılır. Zayıf referans, nesnenin referans sayacını artırmaz, bu da retain döngülerini ve bellek sızıntılarını önlemeye yardımcı olur.
Örnek:
class Person {
var name: String
weak var apartment: Apartment? // zayıf referans
init(name: String) {
self.name = name
}
}
class Apartment {
let unit: String
var tenant: Person? // güçlü referans
init(unit: String) {
self.unit = unit
}
}
// Kullanım:
let john = Person(name: "John")
let unit4A = Apartment(unit: "4A")
john.apartment = unit4A
unit4A.tenant = john
Bu örnekte, Person nesnesi, Apartment ile retain döngüsünü önlemek için zayıf bir referansa sahiptir. Her iki referans güçlü olsaydı, nesneler bellekten atılmazdı.
Önemli: Zayıf referanslar opsiyonel olmalıdır (?), çünkü referans verilen nesne silinebilir.