Sobes.tech
Junior — Middle

A utilização do operador de acesso aos elementos do array garante proteção contra acessos fora dos limites?

sobes.tech IA

Resposta da IA

Em Swift, o operador de acesso aos elementos do array (por exemplo, array[index]) não garante proteção contra ultrapassagens de limite. Se o índice estiver fora dos limites do array, a aplicação irá gerar um erro em tempo de execução e terminará de forma abrupta.

Para acesso seguro, pode usar métodos que retornam um valor opcional, por exemplo, uma extensão com verificação 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

Assim, o operador padrão não protege, e o desenvolvedor deve controlar manualmente os limites.