U mnie problem w tym, że nie mogę zobaczyć przedstawienie swojej aplikacji za pomocą Canvas, bo zawsze pojawia się błąd:
"Zamknięcie aplikacji z powodu неперехваченного wyjątki "Wyjątek NSInvalidArgumentException", powód: "Obiekt NSManagedObject klasy "App.MPG_A "musi mieć ważny opis NSEntityDescription".
Teraz bardziej szczegółowo: W widoku, które chcę zobaczyć, mam @Snap streszczenie multiplayer klasy (MPG A lub MPG B (podklasy), a multiplayer jest podklasą gry (rysunek poniżej)
Komentarz: gra Multiplayer jest również abstrakcyjnej istoty (jako gra) i "Klasa" -> "MPG B"
I gdy chcę zobaczyć klasa następnej klasy, tworząc obiekt moc w podglądzie, moja aplikacja wywala, ale nie wiem, dlaczego:
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))
}
}
I jedynymi (nie domyślny) atrybutów gracza są -> >var nazwa : String
Próbowałem też użyć AppDelegate, ale to też nie zadziałało...
Błąd powinien wystąpić z powodu podglądu i moc-obiektu, ponieważ sam kod skompilowany, a inne reprezentacje są widoczne bez błędów.
Dziękuję ci za pomoc!