Идентифицируемые элементы
Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 30 из 50.
В настоящих списках хранятся структуры, и у двух элементов может быть одинаковое имя. Придайте каждому элементу собственный идентификатор, сделав структуру Identifiable: ей нужно свойство id, отличающееся для каждого элемента.
struct Book: Identifiable {
let id = UUID()
let title: String
let author: String
}UUID() создаёт новое случайное уникальное значение при каждом создании Book. Для элементов с Identifiable ForEach не требуется аргумент id::
ForEach(books) { book in
VStack(alignment: .leading) {
Text(book.title)
.font(.headline)
Text(book.author)
}
}Задание
ЛегкоBook почти готов для ForEach. Сделай его соответствующим Identifiable, добавив свойство let id = UUID(), затем выведи название каждой книги с помощью ForEach(books) внутри VStack.
Попробуйте сами
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в SwiftUI
10Проект — Coddy Coffee
Обзор проектаЭкраны напитков2Отображение содержимого
Текстовые представленияЧисла в текстеШрифтыЦветаSF SymbolsПовторение — ценник5Состояние и кнопки
КнопкиСвойство @StateСостояние «истина или ложь»Условные представленияПовторение — счётчик очков6Ввод данных пользователем
Текстовое полеПереключательСчётчик и ползунокВыборПовторение — форма заказаПотренируйтесь самостоятельно: Песочница Swift