ForEach
Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 29 из 50.
ForEach создаёт одно представление для каждого элемента коллекции:
let fruits = ["Apple", "Banana", "Cherry"]
var body: some View {
VStack {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
}
}Замыкание получает каждый элемент и возвращает его представление. SwiftUI нужен способ отличать строки друг от друга, поэтому он запрашивает id. id: \.self использует само значение, что работает, когда все элементы различаются.
Диапазон чисел тоже подходит, без id:
ForEach(1..<4) { number in
Text("Row \(number)")
}Здесь показаны Row 1, Row 2 и Row 3: 1..<4 останавливается перед 4.
Задание
ЛегкоПокажите меню: внутри VStack используйте ForEach, чтобы создать по одному Text для каждого напитка в drinks, по порядку.
Попробуйте сами
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в SwiftUI
10Проект — Coddy Coffee
Обзор проектаЭкраны напитков2Отображение содержимого
Текстовые представленияЧисла в текстеШрифтыЦветаSF SymbolsПовторение — ценник5Состояние и кнопки
КнопкиСвойство @StateСостояние «истина или ложь»Условные представленияПовторение — счётчик очков6Ввод данных пользователем
Текстовое полеПереключательСчётчик и ползунокВыборПовторение — форма заказаПотренируйтесь самостоятельно: Песочница Swift