Arturo Rivas Arias
-
Un referencia weak no retiene el objeto, pero en versiones antiguas de Swift su memoria sí sobrevivía a su deinit.
El objeto se convertía en un zombie: destruido lógicamente, pero vivo en memoria hasta que alguien leía la última referencia débil.
Swift 4 lo resolvió con las side tables. Hoy la memoria se libera de inmediato. Solo sobrevive una pequeña estructura auxiliar.
Todos los detalles en un nuevo artículo: https://blog.arturorivas.com/posts/arc-de-zombie-objects-a-side-tables/