Memory Management & ARC
ARC, strong/weak/unowned, retain cycles, capture lists, fugas de memoria, profiling
1¿Qué es ARC (Automatic Reference Counting) en iOS?
¿Qué es ARC (Automatic Reference Counting) en iOS?
Respuesta
ARC es un mecanismo automático de gestión de memoria que cuenta las referencias a un objeto. El compilador inserta automáticamente las llamadas retain y release, eliminando la gestión manual. Cuando el conteo de referencias llega a cero, el objeto se desasigna. ARC simplifica considerablemente la programación en iOS al evitar las fugas de memoria comunes.
2¿Qué es una strong reference en ARC?
¿Qué es una strong reference en ARC?
Respuesta
Una strong reference incrementa el contador de referencias del objeto apuntado. Por defecto, todas las variables son strong references. El objeto permanece en memoria mientras al menos una strong reference lo apunte. Usar demasiadas strong references puede crear retain cycles que impiden la desasignación.
3¿Qué es un retain cycle (ciclo de retención)?
¿Qué es un retain cycle (ciclo de retención)?
Respuesta
Un retain cycle ocurre cuando dos o más objetos mantienen strong references mutuas. Ninguno puede ser desasignado porque cada uno impide que el contador de referencias del otro llegue a cero. Esto crea una fuga de memoria. Los retain cycles se evitan usando weak o unowned references en las relaciones circulares.
¿Cuál es el papel de deinit en la gestión de memoria de ARC?
¿Cuál es la diferencia entre una weak y una unowned reference?
+19 preguntas de entrevista
Otros temas de entrevista iOS
Fundamentos de Swift
Fundamentos del lenguaje Swift
Fundamentos de UIKit
Ciclo de vida de UIViewController
UserDefaults & Keychain
Ciclo de vida de la aplicación
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gestión de estado en SwiftUI
Navegación SwiftUI
Networking & URLSession
Codable y parsing JSON
Core Data
Programación orientada a protocolos
Arquitectura MVVM
Notificaciones Push
Pruebas unitarias & XCTest
Pruebas de interfaz de usuario
Xcode y sistema de build
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
Optimización de rendimiento
Seguridad y cifrado
SwiftUI Advanced
Arquitectura de aplicaciones iOS
Domina iOS para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis