Ich bin ein wenig verwirrt, wie man das in CoreData modelliert? Es ist ein ziemlich einfaches Konzept, ich möchte in der Lage zu verfolgen, wie lange ein Spieler in einem bestimmten Spiel gespielt hat. Also ich habe die folgenden Objekte (der Kürze wegen vereinfacht):CoreData und Zwischenprodukte
Player
- name
- currentGamePlayedTime
(1:1 relationship to Team)
Team
- name
(1:1 relationship with Player)
(1:Many relationship with Game
Game
- date
(Many:1 relationship with Team)
Ich möchte in einem bestimmten Spiel bei einem Spieler die Spielzeit in der Lage zurück zu blicken, oder sehen Sie die Spielzeit des ganzen Teams in einem Spiel. Aber ich bin mir nicht sicher, wie ich das modellieren soll. Mit einem SQL-Ansatz hätte ich eine Zwischentabelle (siehe unten) und hätte etwa 15 Einträge, einen für jeden Spieler, der im Spiel gespielt hat und die entsprechende Zeit, in der er gespielt hat.
GameRecord
- GameID
- PlayerID
- TimePlayed
Meine App ist zum Training der Lage, wie viel ein Spieler im aktuellen Spiel gespielt hat, und speichern Sie es auf dem Player-Objekt zur Zeit, aber ich weiß nicht, die langfristige Lösung, die Spielzeit zu einem entsprechenden Einsparung Spielobjekt - ob direkt auf dem Objekt oder über ein Zwischenprodukt.
Ich habe gesehen, dass einige people do use intermediates. Aber ich habe auch gelesen, dass die Verwendung von SQL-Praktiken nicht die Schreibweise ist, um über das Objektdiagramm nachzudenken. Ich wollte nur eine Vorstellung davon haben, wie so etwas aussehen sollte.
Vielen Dank dafür, ich bin froh, den Ansatz identifiziert zu haben! :-) Also nachdem ich all meine Spuren im Spiel gemacht habe und am Ende habe ich alle meine Spieler und alle ihre Zeit gespielt. Was wäre der Prozess, um das Zwischenprodukt zu erstellen? Schließe ich einfach die Spieler an und lasse gameRecord = GameRecord (Kontext: managedObjectContext), gameRecord.playedTime = 15, gameRecord.playRelationshipName = Spiel, gameRecord.playerRelationship = Player, versuche ManagedObjectContext.save() .. ' – Jonnny
Ja, genau. Die umgekehrten Beziehungen, die to-many sein sollten, werden von CoreData automatisch aktualisiert. – pbasdf
Vielen Dank! :-) – Jonnny