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