Tengo el problema de que no puedo vista previa de la Vista de mis app con Lona, porque siempre me sale el error:
"La terminación de la aplicación debido a una excepción no capturada 'NSInvalidArgumentException', la razón: "Un NSManagedObject de clase 'App.MPG_A' deben tener una validez de NSEntityDescription."
Ahora más detallada: En el punto de vista que desea obtener una vista previa tengo un @de Unión de la clase abstracta MultiplayerGame (MPG UNA o MPG B (subclases) y el MultiplayerGame es una subclase de Juego (imagen de abajo)
Comentario: MultiplayerGame es también una entidad abstracta (como el Juego) y "de Clase" -> "MPG B"
Y cuando me desea obtener una vista previa de la clase de la siguiente clase por hacer un moc Objeto en la vista previa de mi Aplicación se bloquea, pero no sé por qué:
import SwiftUI
import CoreData
import Combine
struct StandingEditView: View {
//multiplayer game with MPG A or MPG B class
@Binding var game : MultiplayerGame
@State private var invokeFunction : Bool = false
var body: some View {
VStack{
List{
ForEach(game.players!, id: \.self){ player in
HStack{
Text("\(player.name)")
}
}
}
Button(action: {
invokeFunction.toggle()
}, label: {
Text("Button")
})
}
}
}
struct StandingEditView_Previews: PreviewProvider {
static let moc = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
static var previews: some View {
let game : MultiplayerGame = Standing(context: moc)
let p1 : Player = Player(context: moc)
let p2 : Player = Player(context: moc)
let p3 : Player = Player(context: moc)
p1.name = "Player One"
p2.name = "Player Two"
p3.name = "Player Three"
game.players = [p1,p2,p3]
return StandingEditView(game: .constant(game))
}
}
Y la única (no por defecto) los atributos de Jugador es -> var nombre : String
También probé con AppDelegate pero que no funciona tampoco...
El error debe ocurrir a causa de la vista previa y moc-Objeto porque el propio Código se compila y las otras Vistas son visibles sin un error.
Gracias por su ayuda!