[我正在尝试使用Core Data和SwiftUI的预览,并认为我已经接近了,但无法使其正常工作。
static var previews: some View {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let newGame = Game.init(context: context)
newGame.gameName = "Testy Game"
newGame.gameDescription = "Wooo play the thing"
newGame.goal = Goal.init(goalName: "Try Harder", goalComplete: false, goalOfGame: newGame)
return GameGoalsDetail(game: newGame).environment(\.managedObjectContext, context)
}
}
我在newGame.Goal = Goal.init ...行上获得了对成员'init(entity:insertInto :)'的歧义引用。“>
我正在尝试弄清楚如何初始化一个新游戏,然后在此之后初始化与其相关的目标。
我的核心数据游戏类将gameName,gameDescription和一个目标作为NSSet ?。核心数据目标类具有GoalName,goalComplete和goalOfGame:游戏?。我认为我的问题在于将两者联系起来。
提前了解帮助,并愿意根据要求共享更多代码。
我正在尝试使用Core Data和SwiftUI的预览,并认为我已经接近了,但无法使其正常工作。静态var预览:某些视图{让上下文=(UIApplication ....
Goal
是@NSManagedObject
,这就是为什么您需要将其init与上下文一起使用的原因。当您创建实体对象时,必须将其放置在某个商店中-上下文就是该商店。之后,您可以转换所有需要的属性,包括链接。
如果它们是一对多或多对多关系,则不能简单地将目标分配给游戏。当您将核心数据用于关系时,您将获得带有关系名称的免费“添加”方法。您应该在一行上创建目标