Я проводил нагрузочное тестирование своего приложения, в котором перечислены некоторые задачи и, по сути, предварительно заполненная база данных с 1000 записями. Это сильно замедлило работу приложения, переключение вкладок стало медленным, и я объяснил это использованием
Однако, если я заменю этот запрос вычисляемым свойством, использующим FetchDescriptor, т.е.
Код: Выделить всё
var todos: [Todo] {
var descriptor = FetchDescriptor()
do { return try DatabaseContainer.mainContext.fetch(descriptor) }
catch { return [] }
}
Внезапно все стало очень быстро (хотя наблюдаемая природа запроса теряется). Почему такая резкая разница в производительности?
– решение занимает около 2–3 секунд.
— мгновенно
Это известное ограничение/ошибка в SwiftData?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... tchdescrip