Photo by Camylla Battani / Unsplash

Extensions: Index out of range'e önemek için bir yöntem

Swift Aug 27, 2022

Collection tipleri oldukça sık olarak kullanmaktayız. Bunlar nelerdi;

  • Array
  • Set
  • Dictionary'dir

Peki en çok kullandığımız yer ise TableView veya CollectionView'lerdir. Yazı başlığında yer alan Index out of range hata ile de mutlaka debug yaparken karşılaşmışsınızdır. Bunu hatanın farklı bir index ile dizi içerisinde olmayan bir değeri getirmeye çalışmasından kaynaklanmaktadır. Uygulamanın crash vermesine neden olacaktır. Bunu önlemek için ise aşağıdaki extension kodunu kullanarak uygulamanın crash vermesini önleyebilirsiniz.

extension Collection {
    subscript (safe index: Index) -> Element? {
        return indices.contains(index) ? self[index] : nil
    }
}

Kullanmak için ise,

print(names[safe: 0])

//or

if let thirdValue = array[safe: 2] {
    print(thirdValue)
}

Tags

Furkan Ozoglu

iOS Developer & Geomatics Engineer