Sobes.tech
Junior

¿Qué son los modificadores de memoria strong?

sobes.tech AI

Respuesta de la IA

El modificador strong mantiene una referencia fuerte al objeto, evitando su desasignación mientras exista al menos una referencia fuerte. Se usa por defecto para variables declaradas sin modificadores especiales.

Ejemplo:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objeto '\(name)' creado")
    }

    deinit {
        print("Objeto '\(name)' desasignado")
    }
}

// referencia fuerte
var obj1: MyClass? = MyClass(name: "Primero")
// Otra referencia fuerte
var obj2: MyClass? = obj1

print("---")

// Poner a nil una referencia no lleva a la desasignación
obj1 = nil
print("---")

// Poner a nil la última referencia fuerte lleva a la desasignación
obj2 = nil
print("---")