Menu
Coddy logo textTech

Идентифицируемые элементы

Часть раздела Введение в 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)
    }
}
challenge icon

Задание

Легко

Book почти готов для ForEach. Сделай его соответствующим Identifiable, добавив свойство let id = UUID(), затем выведи название каждой книги с помощью ForEach(books) внутри VStack.

Попробуйте сами

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Введение в SwiftUI

Потренируйтесь самостоятельно: Песочница Swift