Menu
Coddy logo textTech

Добавление элементов

Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 32 из 50.

Храните элементы в @State, и список будет обновляться при каждом изменении массива. Для добавления элементов достаточно текстового поля и кнопки:

@State private var items = ["Milk"]
@State private var newItem = ""

var body: some View {
    VStack {
        TextField("New item", text: $newItem)
        Button("Add") {
            items.append(newItem)
            newItem = ""
        }
        List(items, id: \.self) { item in
            Text(item)
        }
    }
}

items.append(newItem) добавляет введённый текст в массив, а newItem = "" очищает поле для следующего элемента. Поскольку items — это состояние, список сразу показывает новую строку.

Кнопку можно отключить, пока поле пусто: .disabled(newItem.isEmpty).

challenge icon

Задание

Средне

Сделайте так, чтобы кнопка Add работала: добавьте newItem в items, а затем очистите поле. Список уже отображает items.

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

import SwiftUI

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

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

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

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