如何从多对多关系中提取对象?
我正在制作一个应用程序,其中有以下实体在一个多对多的关系。
游戏团队。
我想制作显示以下对象的标签:
“Game.id”和“Team.name”。
获取Games实体时,我可以访问“teams”NSSet,但无法提取“Team.name”对象,例如“Game.teams.name”。
我想回来[第一场,A队,B队]
relational diagram here for reference
最佳答案
您不能通过“Games.teams.name”访问它,因为集合没有name属性,所以您必须循环集合并从每个单独的团队中提取名称。
当然,如果一个游戏是一个体育游戏,它总是有两个团队,然后你可能想重新考虑你的设计,而不是有两对一的关系,从游戏到团队,像主队和awayTeam。如果你知道游戏中总是有团队的话,这可能比多对多的关系更容易处理。
访问团队的示例,假设您有一个游戏实例:
if let teams = game.teams as? Set<Team> {
for team in teams {
print(team.name)
}
}
关于ios - 核心数据多对多Swift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49087184/