Sobes.tech
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.