У меня есть 3 сущности в основных данных с несколькими атрибутами:
StoredGame StoredTeam и StoredPlayer
- Игры имеют отношение один-ко-многим с командами
- У команды много-к-одному отношения с Играми
- У команды много-много-много с Игроком
- У игрока много-много-много с Командой
так что у меня есть эти 3 структуры для управления данными в приложении
struct Game: Equatable {
static func == (lhs: Game, rhs: Game) -> Bool {
return lhs.id == rhs.id
}
var id: Int
var opponent: String
var teams: [Team] = .init()
init(id: Int,
opponent: String,
team: [Team] = .init())
{
self.id = id
self.opponent = opponent
self.team = team
}
}
struct Team: Equatable {
static func == (lhs: Team, rhs: Team) -> Bool {
return lhs.id == rhs.id
}
var id: Int
var players: [Player] = .init()
init(id: Int, number: Int, players: [Player])
{
self.id = id
self.players = players
}
}
struct Player: Equatable {
static func == (lhs: Player, rhs: Player) -> Bool {
return lhs.id == rhs.id
}
var id: Int
var name: String
var number: Int
init(id: Int,
name: String,
number: Int,)
{
self.id = id
self.name = name
self.number = number
}
}
Я ищу способ записать игру, содержащую команду, содержащую игроков. Если я храню игру без команд, это не проблема, но я не могу найти способ сохранить эти команды
Так что в моем
class StoredGame: NSManagedObject {
}
я пробовал это:
static func add(new game: Game) {
let entity = NSEntityDescription.entity(forEntityName: "StoredGame", in: storage.viewContext)!
let newGame = StoredGame(entity: entity, insertInto: storage.viewContext)
newGame.opponent = game.opponent
newGame.id = NSNumber(value: game.id)
newGame.game_teams = ????
}
Я также пытался преобразовать массив в NSSet, но ничего не могу найти, помогите! :)