Ho il problema che non riesco a visualizzare in anteprima la Vista delle mie app con la Tela, perché ricevo sempre il messaggio di errore:
"Terminazione app a causa di uncaught exception 'NSInvalidArgumentException', motivo: 'Un NSManagedObject di classe 'App.MPG_A' necessario disporre di un valido NSEntityDescription."
Ora più dettagliate: In vista voglio anteprima ho un @Vincolante della classe astratta MultiplayerGame (MPG o MPG B (sottoclassi) e il MultiplayerGame è una sottoclasse di Gioco (foto sotto)
Commento: MultiplayerGame è anche un'entità astratta (come il Gioco) e di "Classe" -> "MPG B"
E quando voglio visualizzare in anteprima la classe la seguente classe, facendo moc Oggetto in Anteprima la mia App si blocca, ma non so perché:
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))
}
}
E il solo (non di default) attributi del Giocatore è -> var nome : String
Ho provato anche con AppDelegate, ma che non ha funzionato neanche...
L'errore deve verificarsi a causa di Anteprima e moc-Oggetto, in quanto il Codice viene compilato e l'altro Vista sono visibili senza un errore.
Grazie per il vostro aiuto!