Sobes.tech
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.