Контейнер и контекст модели
Настройте хранилище с помощью modelContainer.
«Контейнер и контекст модели» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
What a Container Is
The model container is the engine that sets up your storage on disk. Your whole app shares one container for all its SwiftData models.
Adding the Container
Attach a container to your app with the modelContainer modifier on a scene. One line gives every view access to your saved data.
WindowGroup {
ContentView()
}
.modelContainer(for: Task.self)Listing Multiple Models
Pass an array to register several models at once. The container then knows about every type your app needs to save.
.modelContainer(for: [Task.self, Project.self])What a Context Is
The model context is your working space for changes. You insert, edit, and delete through it, then it saves to the container.
Reading the Context
Grab the active context inside a view with the @Environment property wrapper. SwiftData injects it for you automatically.
@Environment(\.modelContext) private var contextInserting an Object
Call insert on the context to start tracking a new object. From this point SwiftData watches it for saving.
context.insert(Task(title: "Buy milk"))Automatic Saving
SwiftData usually autosaves changes for you at smart moments. You rarely need to save by hand in a simple app.
Saving Manually
When you need certainty, call save on the context to write changes right now. It is handy before a critical step.
try context.save()In-Memory Containers
Set isStoredInMemoryOnly to true for a throwaway store. It is perfect for previews and tests that should not touch the disk.
let config = ModelConfiguration(
isStoredInMemoryOnly: true)Custom Configuration
A ModelConfiguration lets you tune where and how data is stored. You pass it when building a container by hand.
let container = try ModelContainer(
for: Task.self, configurations: config)One Container, Many Views
Because the container lives at the app level, every view shares the same data. Edits in one screen show up everywhere instantly.
Quick Check
Quick check on container and context.
Recap: Container & Context
You set up storage with modelContainer, then insert and save through the context from @Environment. Your app can now read and write data. ✅
Изучай Swift с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Контейнер и контекст модели» бесплатный?
Да — полный текст урока «Контейнер и контекст модели» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.
Чему я научусь в уроке «Контейнер и контекст модели»?
Настройте хранилище с помощью modelContainer. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SwiftUI Academy?
Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Контейнер и контекст модели»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SwiftUI Academy?
Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение типов @Model
- Контейнер и контекст модели
- Запросы с @Query
- Добавление, обновление и удаление