Получение данных с @FetchRequest
Загружайте управляемые объекты непосредственно в представления.
«Получение данных с @FetchRequest» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Reading Records in Views
To show saved data, a SwiftUI view needs to fetch it from Core Data and re-render whenever that data changes.
The @FetchRequest Wrapper
The @FetchRequest property wrapper runs a query for an entity and keeps the results live and current for you.
@FetchRequest(sortDescriptors: []) var tasks: FetchedResults<Task>What You Get Back
Results arrive as FetchedResults, a collection you can loop over just like an array inside your view body.
Showing Them in a List
Drop the results straight into a List with ForEach to render one row per stored record.
List(tasks) { task in
Text(task.title ?? "Untitled")
}Sorting the Results
Pass sortDescriptors so rows arrive in a predictable order instead of a random one.
@FetchRequest(sortDescriptors: [SortDescriptor(\.title)]) var tasks: FetchedResults<Task>Filtering with a Predicate
Add an NSPredicate to fetch only the records that match a rule, like done items or a search term.
@FetchRequest(sortDescriptors: [], predicate: NSPredicate(format: "isDone == true")) var done: FetchedResults<Task>It Stays Live
@FetchRequest watches the context, so when you add or delete a record the view updates automatically. ⚡
It Needs the Context
@FetchRequest reads the context from the environment, so the value you injected in the stack must be present.
Handling an Empty Result
When the fetch returns nothing, show a friendly empty state instead of a blank screen.
if tasks.isEmpty {
Text("No tasks yet")
}Optional Attributes
Core Data attributes are often optional in Swift, so unwrap them safely before you display their values.
Declare It as var
Declare a @FetchRequest property as var, since the wrapper updates its stored results as the data changes.
Quick Check
You wired up @FetchRequest. A quick check on how it behaves.
Recap
You used @FetchRequest to pull records into a view, sort and filter them, and let the list refresh itself as data changes. ✨
Часто задаваемые вопросы
Урок «Получение данных с @FetchRequest» бесплатный?
Да — полный текст урока «Получение данных с @FetchRequest» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.
Чему я научусь в уроке «Получение данных с @FetchRequest»?
Загружайте управляемые объекты непосредственно в представления. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать SwiftUI Academy?
Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Получение данных с @FetchRequest»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке SwiftUI Academy?
Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Стек Core Data
- Получение данных с @FetchRequest
- Создание и сохранение сущностей
- Предикаты и описатели сортировки