Как я могу зациклить индексы массива Swift 5 со смещением до определенного числа, используя представление по каждому элементу?

#swift #swiftui #swift5

Вопрос:

Как я могу зациклить массив, используя смещение для каждого числа

У меня есть массив городов размером 10, как я могу использовать этот массив 15 раз?

 ForEach(cities.indices, id: .self) { index in
}
 

Я ищу способ увеличить на 5 или любой Int

Я инициализирую массив размеров городов и добавляю смещение, думал, что есть более чистое решение с использованием индексов, но я ничего не могу найти в документации

Комментарии:

1. Что должно произойти после того, как вы достигли конца массива (индекс == 10)?

Ответ №1:

Вы можете сделать что-то вроде этого:

 ForEach(0..<cities.count   5, id:.self) { index in
let city = cities[index]
}
 

Будь осторожен. Цикл завершится сбоем, если он попытается получить доступ к индексу вне досягаемости.

Комментарии:

1. Это всегда будет рушиться, не так ли?

2. Да, так и будет, если он войдет в город, но, может быть, ему просто нужен этот указатель, чтобы отобразить что-то еще. Это можно сделать с помощью простого оператора if else