Sobes.tech
Junior — Middle

Dizi öğelerine erişim operatörünün kullanılması sınır dışı çıkışlara karşı koruma sağlar mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te, dizi öğelerine erişim operatörü (örneğin, array[index]) sınır aşımını önlemez. Eğer indeks dizinin sınırları dışındaysa, uygulama çalışma zamanı hatası verir ve aniden kapanır.

Güvenli erişim için, indeks kontrolü yapan ve opsiyonel değer döndüren yöntemler kullanılabilir, örneğin, bir genişletme:

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, güvenli

Bu nedenle, standart operatör koruma sağlamaz ve geliştiricinin sınırları kendisinin kontrol etmesi gerekir.