У меня есть две сущности в моей основной модели данных: Computer
и Components
. Компьютер может состоять из нескольких компонентов, поэтому отношение установлено как to-many
. Computer
также имеет атрибут computerName
.
При добавлении компонента я хочу, чтобы выбранный компьютер отображался в представлении добавления компонента. Это представление добавляемого компонента написано на SwiftUI, и у меня есть этот код для создания ManagedObjectContext и для получения объекта компьютера:
@Environment(\.managedObjectContext) var moc: NSManagedObjectContext
@FetchRequest(entity: Computer.entity(), sortDescriptors: []) var computerToDisplay: FetchedResults<Computer>
Затем я запускаю следующий ForEach l oop, который, как я ожидал, возьмите компьютер и поместите его в текстовое поле.
ForEach(computerToDisplay, id: \.self) { computer in
Text(computer.computerName)
}
С помощью этого кода, когда я пытаюсь открыть представление добавления компонентов, я получаю следующую ошибку:
Thread 1: Exception: "executeFetchRequest:error: A fetch request must have an entity."
Теперь я Я загружаю представление добавления компонента из UIKit ViewController. Поэтому я не уверен, что что-то не передается в представление добавления компонентов.
Вот как я загружаю представление компонентов:
@IBSegueAction func addComponentSegueAction(_ coder: NSCoder) -> UIViewController? {
let swiftUIView = UIHostingController(rootView: AddComponentView().environment(\.managedObjectContext, moc!))
present(swiftUIView, animated: true, completion: nil)
return UIHostingController(coder: coder, rootView: AddComponentView())
}
Любая помощь будет принята с благодарностью, спасибо.