Uygulamamın Görünümünü Canvas ile önizleyemediğim için sorunum var, çünkü her zaman hatayı alıyorum:
"Yakalanmamış istisna nedeniyle uygulamayı sonlandırma 'NSInvalidArgumentException', nedeni: 'Bir NSManagedObject sınıfı 'App.MPG_A ' geçerli bir NSEntityDescription olmalıdır."
Şimdi daha ayrıntılı: Önizlemek istediğim görünümde soyut sınıf Multiplayergame'in (MPG A veya MPG B (alt sınıflar) bir @ Bağlaması var ve MultiplayerGame Oyunun bir alt sınıfı (aşağıdaki resim)
Yorum: MultiplayerGame aynı zamanda soyut bir varlıktır (Oyun gibi) ve "Sınıf" - > "MPG B"
Ve Önizlemede bir moc Nesnesi yaparak aşağıdaki sınıfı önizlemek istediğimde Uygulamam çöküyor ancak nedenini bilmiyorum:
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))
}
}
Ve Player'ın tek (varsayılan değil) öznitelikleri - > > var name: String
Ayrıca AppDelegate ile denedim ama bu da işe yaramadı...
Kodun kendisini derler ve diğer Görünümler hatasız görünür olduğundan Önizleme ve moc Nesnesi nedeniyle hata oluşmalıdır.
Yardımın için teşekkürler!