Sobes.tech
Junior

Mi a strong memória módosítók?

sobes.tech MI

Válasz az MI-től

A Swiftben a strong módosító azt jelzi, hogy egy objektumra mutató hivatkozás növeli az adott objektum hivatkozásszámát egyel. Ez azt jelenti, hogy az objektum a memóriában marad, amíg legalább egy erős hivatkozás létezik rá.

Alapértelmezés szerint osztályok (referenciatípusok) esetén használják. Egy strong módosítóval ellátott változó nil értékre állítása csökkenti a hivatkozásszámot. Amikor ez a szám nulla lesz, az objektum felszabadul a memóriából.

Példa:

class Person {
    var name: String
    init(name: String) {
        self.name = name
        print("\(name) inicializálódik")
    }
    deinit {
        print("\(name) deinitializálódik")
    }
}

var reference1: Person?
var reference2: Person?

reference1 = Person(name: "Alice") // Alice hivatkozásszáma: 1
reference2 = reference1           // Alice hivatkozásszáma: 2

reference1 = nil                   // Alice hivatkozásszáma: 1
reference2 = nil                   // Alice hivatkozásszáma: 0, Alice deinitializálódik