Junior — Middle
¿Cómo afecta el uso de enlaces fuertes en un lenguaje de programación a la duración de la existencia de un objeto en la memoria?
sobes.tech AI
Respuesta de la IA
En iOS (y en Swift/Objective-C), los enlaces fuertes (strong) son enlaces normales a objetos que aumentan el contador de referencias del objeto. Mientras exista al menos un enlace fuerte al objeto, este no será eliminado de la memoria.
Esto significa que el objeto continúa existiendo en la memoria mientras haya enlaces strong a él. Cuando todos los enlaces strong se eliminan o se vuelven nil, el objeto se libera automáticamente (ARC — Conteo de Referencias Automático).
Ejemplo:
class Person {
var name: String
init(name: String) { self.name = name }
}
var person1: Person? = Person(name: "Alex") // enlace fuerte
var person2 = person1 // aumenta el contador de referencias
person1 = nil // el objeto aún existe, ya que person2 hace referencia a él
person2 = nil // ahora el objeto se libera
De esta manera, los enlaces strong afectan directamente al tiempo de vida del objeto en memoria — mientras exista al menos uno, el objeto está vivo.