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.