Правильный способ использования Core Data в SwiftUI - PullRequest
0 голосов
/ 24 февраля 2020

Я понимаю, как использовать Core Data в SwiftUI, но мне не совсем понятны лучшие практики для использования. Кажется, есть несколько способов сделать это, но я не смог найти четкого ответа по существу каждого из них. Один из методов, которые я обычно вижу, - это использование @FetchRequest для извлечения данных непосредственно из Core Data в свойствах структуры View. Это хорошо работает, но не отвлекает функцию извлечения из структуры View в модель. Другой метод, который я видел, - это создание класса DataManager, соответствующего ObservableObject, и затем инициализация контекста управляемого объекта в класс:

init() {
    if let appDeligate = UIApplication.shared.delegate as? AppDelegate {
        self.moc = appDeligate.persistentContainer.viewContext
    }
    //some other initialisation tasks
}

Затем выполните mo c .fetch (someNSFetchRequest). ), чтобы получить данные из Core Data. Экземпляр этого класса можно затем сделать в свойствах представления как наблюдаемый объект, который затем может обновить представление с изменениями. Я не вижу, чтобы этот метод использовался так часто, но он позволяет вам абстрагироваться от выборки данных из представлений, а не с помощью @ FetchRequest.

Поэтому мой главный вопрос: когда следует использовать каждый из этих методов? и почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...