2010-12-09 8 views
0

Ich habe zwei Entitäten: Spiel und Spieler, die ich mit einem Zwischentabellen-Matchplayer eingerichtet habe, da Spieler mehrere Matches spielen können und Matches mehrere Spieler haben. Ich habe Ansichten, in denen ich sowohl Matches als auch Spieler einzeln hinzufügen, ändern und löschen kann, aber ich bin verwirrt darüber, wie man das Matchplayer-Entity füllt. Ich habe die Matchplayer-Entity ohne Attribute, aber mit Beziehungen zu den Entitäten des Matches und des Spielers eingerichtet.Wie speichert man die 'Beziehung' zwischen zwei Coredata-Datensätzen?

Ich habe eine Ansicht, die Spieldetails verwaltet, und von dort lädt es eine Tabellenansicht aller Spieler, wo ich die Spieler auswählen kann, die ich mit dem Spiel verbinden möchte. Aber da bleibe ich stecken. Was füge ich dem Matchplayer-Objekt hinzu, um die Beziehung zu speichern?

Antwort

0

Sie müssen keine separate Entität erstellen, nur um die Beziehung aufrechtzuerhalten.
Was Sie tun können, ist, dass Sie zu vielen Beziehungen von Match-Entity zu Player-Entity pflegen.
Angenommen, diese Beziehung wird als playerInMatch bezeichnet. Jetzt können Sie für jeden managedObjectContext der Übereinstimmung, die Sie in die Übereinstimmungsentität einfügen, mehrere Player in diesen managedObjectContext einfügen, indem Sie die Methode addPlayerInMatch: verwenden (d. H. Die Accessormethode, die beim Erstellen modaler Klassen automatisch generiert wird).
Jetzt können Sie während des Abspielens eines bestimmten Matches einen kompletten Satz von Spielern dieses Matches durch seine Beziehung abrufen. Dadurch können Sie einen beliebigen Spieler zu diesem Set hinzufügen oder löschen, wenn Sie möchten.
(Ich habe ihnen kurz erläuterte die Idee, unter Verwendung von Daten Kern Sie haben ein klares Verständnis von der Hoffnung relationship.If Sie mit Kerndaten überprüfen folgend Tutorial nicht ganz klar sind.
http://cocoadevcentral.com/articles/000085.php

+0

Vielen Dank für die Antwort, die ich verstehe, was Sie sagen über das Fallenlassen der Matchplayer-Entity und das Erstellen von to-many-Beziehungen. Mit dem acessor, setze ich es einfach auf einen managedobjectcontext? Wenn ich also einen Player auswähle, verwende ich "addMatch" für den Kontext des verwalteten Objekts des Match-Records i interessiert mich? – lps