Sobes.tech
Junior — Middle

L'utilisation de l'opérateur d'accès aux éléments du tableau garantit-elle une protection contre les dépassements de limites?

sobes.tech IA

Réponse de l'IA

En Swift, l'opérateur d'accès aux éléments du tableau (par exemple, array[index]) ne garantit pas la protection contre le dépassement. Si l'indice dépasse les limites du tableau, l'application générera une erreur d'exécution et se terminera de manière anormale.

Pour un accès sécurisé, vous pouvez utiliser des méthodes qui renvoient une valeur optionnelle, par exemple, une extension avec vérification de l'indice :

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, en toute sécurité

Ainsi, l'opérateur standard ne protège pas, et le développeur doit contrôler manuellement les limites.