TGViewer
Мобильная разработка #1 Мобильная разработка #1 @developer_mobila · 3.81K subscribers
Post #1671 1.11K
Использование enumerated() с SwiftUI List и ForEach для отображения номеров элементов

При отображении элементов в SwiftUI иногда нужно показать их позицию в последовательности — например, для списка инструкций или ранжированных результатов.
Обычный способ сделать это — вызвать enumerated() для коллекции. Этот метод возвращает EnumeratedSequence, который представляет собой последовательность пар (offset, element), где offset — это счётчик, начинающийся с нуля, а element — соответствующее значение из исходной коллекции.

До недавнего времени enumerated() не был напрямую совместим с ForEach или List в SwiftUI, так как его результат не соответствовал протоколу RandomAccessCollection. В качестве обходного решения приходилось оборачивать последовательность в массив.


RecipeStepsView: View {
let steps = [
"Chop lettuce, tomatoes, and cucumber.",
"Drizzle with olive oil and lemon juice.",
"Toss gently and serve."
]

var body: some View {
VStack(alignment: .leading) {
ForEach(
Array(steps.enumerated()), id: \.element
) { offset, step in
Text("\(offset + 1). \(step)")
}
}
}
}


https://nilcoalescing.com/blog/UsingEnumeratedWithListAndForEach/

#ios

👉 @developer_mobila
  • 👍 2
  • ❤ 1
More from @developer_mobila
  1. Sep 14, 2026Как разрабатывать приложения для iPhone на iPad Звучит как противоречие: iPad стал вполне…
  2. Aug 24, 2026🧪 Как заставить XCUITest работать с интерфейсом глубиной более 100 уровней Инженеры Циана…
  3. Jul 25, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  4. Jul 8, 2026🕵️‍♂️ «Я спрятал ключ в константу»: Как Джуны дарят доступы хакерам Вы интегрировали крут…
  5. Jun 25, 2026👾 Androguard: Швейцарский нож для реверс-инжиниринга Android Если вы занимаетесь пентесто…
  6. Jun 22, 2026Живой космос на Metal: как я переписывал фон мобильной игры и поднимал FPS с 20 до 120 В м…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →