J'ai le problème que je ne peux pas aperçu de la Vue de mon appli avec de la Toile, car je reçois toujours le message d'erreur:
"La résiliation d'application en raison de uncaught exception 'NSInvalidArgumentException', la raison: "Une NSManagedObject de classe 'App.MPG_A " doit avoir une validité NSEntityDescription."
Maintenant plus détaillée: Dans la vue, je veux aperçu j'ai un @de Liaison de la classe abstraite MultiplayerGame (MPG UN ou MPG B (sous-classes) et le MultiplayerGame est une sous-classe de Jeu (photo ci-dessous)
Commentaire: MultiplayerGame est également une entité abstraite (comme le Jeu) et "Classe" -> "MPG B"
Et quand je veux pour un aperçu de la classe la classe suivante en faisant un moc de l'Objet dans la fenêtre d'Aperçu de mon Application se bloque mais je ne sais pas pourquoi:
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))
}
}
Et la seule (pas par défaut) les attributs de Joueur est -> var nom : String
J'ai aussi essayé avec AppDelegate mais cela ne fonctionne pas non plus...
L'erreur doit se produire en raison de la Prévisualisation et le moc-Objet parce que le Code compile et les autres Vues sont visibles sans une erreur.
Merci pour votre aide!