0Pricing
SwiftUI Academy · Урок

Получение данных с @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 — локальная установка не требуется.

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

  1. Стек Core Data
  2. Получение данных с @FetchRequest
  3. Создание и сохранение сущностей
  4. Предикаты и описатели сортировки
← Назад к SwiftUI Academy