2016-03-20 10 views
1

Ich habe 2 Einheiten.Wie erstellt man viele Beziehungen mit Stammdaten? Swift, xcode

Einheit 1 - Menschen Einheit 2 - Bücher

Menschen Entität hat eine Eigenschaft, die ein Array von String-Namen ihrer Lieblings-Bücher ist.

Ich muss eine Beziehung erstellen, die irgendwie das Lieblingsbuch einer Person den entsprechenden Buchobjekt-Objekten zuordnet.

Ich bin mir nicht sicher, wie das geht.

Bisher habe ich damit begonnen, eine Beziehung im Kerndatenmodell für Personen zu erstellen, indem ich das Ziel auf "Bücher" setze und dann für das Buchobjekt eine Beziehung durch Setzen des Ziels auf "Personen" einstelle.

Ich sehe oder verstehe nicht, wie dies automatisch jedes der Lieblingsbücher der Person herausgreifen wird ... am Ende des Tages sind sie beide getrennte Objekte. Wie wird die Menschenklasse wissen, dass dies, dieses und dieses Buch für eine bestimmte Personeninstanz der Favorit dieser Person ist?

Antwort

0

Person Attribut als Array von Zeichenfolge Namen von Büchern - sehr schlechte Idee!

Sie benötigen eine Zweierbeziehung mit der Entität Buch. Das ist es.

Person <------------>> Book 

Dann eine Reihe von Buchtitel für eine bestimmte Person zu bekommen:

(person.books as! Set<Book>).map { $0.title } 

Die Person eine zusätzliche zu-Eins-Beziehung haben kann (z favoriteBook genannt) zu einem der Bücher.

+0

also können Sie mir helfen, dies zu klären für die Art, wie meine App derzeit eingerichtet ist? zum Beispiel, Person Ein Objekt hat eine Eigenschaft, die Lieblingsbücher genannt wird [Drachenläufer, großer Gadsby, um einen spottenden Vogel zu töten]. Das Buchobjekt hat viele Bücher plus die oben genannten. Wie wird das, was Sie oben beschrieben haben, die Lieblingsbücher den Büchern im Buchobjekt zuordnen –