Учитывая, что @FetchRequest
не поддерживает динамические предикаты c (например, я не смог обновить «месяц» в календаре и повторно запросить события, запланированные на этот месяц), я пытаюсь получить ручной запрос на работу.
@FetchRequest
уже работает, если я не пытаюсь сделать предикат Dynami c, поэтому я предполагаю, что основные данные настроены для правильной работы.
В моем SceneDelegate
У меня есть:
guard let context = (UIApplication.shared.delegate as? AppDelegate)?.persistentContainer.viewContext else {
fatalError("Unable to read managed object context.")
}
let contentView = ContentView().environment(\.managedObjectContext, context)
и в моем AppDelegate
:
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Transactions")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}()
Если я попытаюсь выполнить запрос вручную в моем ContentView
, например:
let employeesFetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Employees")
do {
let employees = try managedObjectContext.fetch(employeesFetch) as! [Employees]
} catch {
fatalError("Failed to fetch employees: \(error)")
}
Это не удается, потому что `Exception NSException *" + entityForName: nil не является допустимым NSPersistentStoreCoordinator для поиска имени субъекта "Сотрудники" "
Какая конфигурация мне не хватает?