Я использую PopOver на мой взгляд. В этом представлении я делаю FetchRequest для CoreData. Работает нормально. Это связано с моим Environment(\.managedObjectContext)
. Однако всегда, когда я вызываю свой поповер и перезагружаю это представление, он падает.
Я читаю в другом вопросе переполнения стека, что мне нужно вручную вывести sh мои объекты в этот поповер. Я пытаюсь, и он все еще падает. Я использую это для вызова моего popover:
Button(action:
{
//Call the PopOver
self.s_showPopover = true
})
{
Image("Link")
}
.padding(.trailing, 16)
.buttonStyle(PlainButtonStyle())
.popover(isPresented: self.$s_showPopover, content: { PersonFormPopover().environment(\.managedObjectContext, NSManagedObjectContext.current).environmentObject(userData) })
Правильно ли я отправляю свои объекты? Cra sh появляется только когда я нажимаю на поповер минимум один раз. Если я не нажимаю на него, он не падает.
В моем представлении PopOver я даже не использую этот объект и не делаю никаких запросов к CoreData. Почему это все еще терпит крах? Когда я перезагружаю это представление, оно показывает мне ошибку в моем foreach
при анализе FetchRequest
. Похоже, тогда он вообще не получает никаких объектов.
Это мое представление PersonPopOver, это просто пустое представление.
struct PersonFormPopover: View {
var body: some View {
Text(/"Hello, World!")
}
}
struct PersonFormPopover_Previews: PreviewProvider {
static var previews: some View {
PersonFormPopover()
}
}
Я получаю следующее сообщение cra sh при повторной загрузке моего представления после всплывающего окна.
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)