Junior — Middle
¿Proporciona el uso del operador de acceso a elementos de matriz protección contra salidas de límites?
sobes.tech AI
Respuesta de la IA
En Swift, el operador de acceso a los elementos del array (por ejemplo, array[index]) no garantiza protección contra desbordamientos. Si el índice está fuera de los límites del array, la aplicación generará un error en tiempo de ejecución y se cerrará de forma anormal.
Para acceder de forma segura, se pueden usar métodos que devuelven un valor opcional, por ejemplo, una extensión con comprobación de índice:
extension Array {
func safeGet(index: Int) -> Element? {
return indices.contains(index) ? self[index] : nil
}
}
let arr = [1, 2, 3]
print(arr.safeGet(index: 5)) // nil, de forma segura
De esta manera, el operador estándar no protege, y el desarrollador debe controlar manualmente los límites.