SwiftUI Academy · Урок

Добавление, обновление и удаление

Изменяйте хранилище и отображайте изменения в реальном времени.

Урок 4 из 413 шагов

«Добавление, обновление и удаление» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.

Изменение данных

Теперь вы будете изменять хранилище: добавлять новые записи, редактировать существующие и удалять ненужные. ✏️

Вставка записи

Создайте объект и вызовите insert у контекста, чтобы добавить его. SwiftData сразу начинает отслеживать его для сохранения.

let task = Task(title: "Walk dog")
context.insert(task)

Запись появляется после вставки

После вставки любое представление с @Query сразу показывает новую строку. Обновлять список вручную не нужно.

Изменение свойства

Чтобы изменить запись, просто измените её свойство в отслеживаемом объекте. SwiftData заметит это и сохранит новое значение.

task.isDone = true

Отдельный вызов для изменения не нужен

Отдельного метода обновления нет. Поскольку объект отслеживается, для изменения достаточно прямого присваивания.

task.title = "Walk the dog twice"

Удаление записи

Удалите объект с помощью delete у контекста. Он исчезнет из хранилища и из всех представлений запросов.

context.delete(task)

Удаление из списка

Настройте удаление смахиванием с помощью onDelete, а затем вызовите delete для каждого индекса. Пользователи смогут удалять строки привычным жестом.

.onDelete { offsets in
    for i in offsets {
        context.delete(tasks[i])
    }
}

Сохранение изменений

SwiftData сохраняет данные автоматически, но Вы можете вызвать save, чтобы немедленно зафиксировать изменения. Это особенно полезно перед возможным закрытием приложения.

try context.save()

Пакетные операции

Переберите набор объектов, чтобы сразу вставить или удалить несколько объектов. Контекст эффективно выполнит эту работу за Вас.

for t in finished {
    context.delete(t)
}

Обработка ошибок

Оберните ручной вызов save в do-catch, чтобы сбой не привёл к аварийному завершению приложения. Вместо этого Вы сможете предупредить пользователя.

do { try context.save() }
catch { print(error) }

Изменения передаются в интерфейс

Каждая вставка, правка и удаление сразу отражаются в представлениях. Хранилище и экран остаются полностью синхронизированными.

Быстрая проверка

Быстрая проверка знаний об изменении данных.

Итоги: изменение данных

Теперь Вы умеете вставлять записи, изменять их с помощью присваивания и удалять, а интерфейс обновляется в реальном времени. Вы полностью управляете хранилищем SwiftData. 🚀

Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Добавление, обновление и удаление» бесплатный?

Да — полный текст урока «Добавление, обновление и удаление» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «Добавление, обновление и удаление»?

Изменяйте хранилище и отображайте изменения в реальном времени. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать SwiftUI Academy?

Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Добавление, обновление и удаление»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке SwiftUI Academy?

Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Определение типов @Model
  2. Контейнер и контекст модели
  3. Запросы с @Query
  4. Добавление, обновление и удаление
← Назад к SwiftUI Academy