Swift, как говорят, разработан с учетом безопасности. Если это так, то почему у него нет встроенного решения для ошибки «индекс вне диапазона»?
Может, например, возвращать необязательные значения при использовании индексов массива:
let friends = ["Jack", "Lisa", "Brian"]
let friend1 = friends[1] // Optional("Lisa")
let friend3 = friends[3] // nil
Словари используют этот шаблон, и с этим проблем нет.
Я знаю, что могу сравнивать индексы массивов с friends.count
, но делать это постоянно утомительно.
Я просто не понимаю, почему дизайнеры Swift еще не решили эту проблему. Может быть, есть некоторые распространенные соглашения или технические ограничения, о которых я не знаю. В таком случае я был бы благодарен за объяснение.