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.