Стоимость производительности при использовании @FetchRequests в SwiftUI

#core-data #swiftui

Вопрос:

Поэтому мой вопрос в некотором роде двоякий, поскольку я довольно новичок в SwiftUI и работаю с CoreData.

Мой первый вопрос, и, возможно, я делаю это неправильно, но, если всем моим представлениям нужен доступ к результатам запроса выборки, в котором есть мой стек CoreData, будет ли дорого вызывать этот запрос выборки в каждом представлении? Я видел, как в некоторых сообщениях обсуждалось, что, особенно при работе со списками, это может привести к тому, что пользовательский интерфейс будет сильно заикаться, и я не уверен, что это все еще проблема и сколько данных необходимо для этого. Для контекста я работаю над бюджетным приложением, поэтому у меня будет ~26 объектов в год, что поначалу немного, но со временем, скажем, примерно через 4 года, будет ли достаточно 100 объектов, чтобы снизить производительность?

Вслед за этим, по моему опыту, объекты CoreData-это огромная проблема для передачи (и, возможно, это потому, что я делаю это с помощью запроса на извлечение). Является ли обычной практикой загружать стек CoreData в вашу собственную структуру данных и передавать его в ваше приложение для отображения и редактирования информации и, очевидно, по-прежнему выполнять сохранение и удаление основного объекта данных, когда это необходимо. Похоже, это было бы намного проще, по крайней мере, для отображения моих объектов.

Кроме того, я неплохо разбираюсь в CoreData, но мне кажется, что есть много вещей, которые я делаю не лучшим образом, и все, что я вижу в Интернете, похоже на настройку основных данных, не так много о лучших способах выполнения определенных действий, поэтому любые ссылки на передовую практику будут оценены.

Комментарии:

1. Что касается вашего первого вопроса («будет ли достаточно 100, чтобы снизить производительность»), я обычно скажу «нет», но можно легко ошибиться в кодировании (например, сделать запрос, который загружает все 100 для каждой ячейки, List но отображает только одну), что может снизить производительность. Без фактического кода, на который можно посмотреть, это предположение.

2. Законы основных данных -это хорошее чтение, и у Донни Уолса есть много хороших статей в его блоге , и вы, конечно, могли бы также прочитать его книгу основных данных