• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Einige Blicke in fremde Welten dürft Ihr nun bestaunen und darüber abstimmen, welche davon Euch am meisten gefällt: hier geht es lang für Euer Voting --> Klick

CoreData - to-many Beziehung anzeigen

duselbaer

Erdapfel
Registriert
03.01.11
Beiträge
2
Hi Leute,

ich habe hier Entities, die wiederum auf viele andere Entities verweisen. Also z.B. Schulklasse --> viele Schüler.
Im ersten ViewController habe ich eine Liste der Schulklassen. Selektiere ich eine Schulklasse komme ich auf einen zweiten Screen mit der Liste der Schüler.

So, woher bekomme ich jetzt die Liste der Schüler? Ich sehe zwei Möglichkeiten:

1. Ich lese die Property meiner Schulklassen-Entity aus und werfe die in einen UITableViewController
2. Ich erstelle einen CoreData FetchRequest, um alle Schüler die in der Klasse sind zu lesen und nehme den NSFetchedResultsController

Bei 1. muss ich mich selsbt darum kümmern, dass neue Elemente im TableView landen. Bei 2. muss ich den FetchRequest mit der entsprechenden Bedingung selbst zusammenbauen. Ich finde beide Lösugnen nicht optimal.

Was macht ihr denn da?
 
Warum findest Du diese Lösungen nicht optimal? Was hättest Du den gerne?

MacApple
 
Also den Weg über einen FetchRequest halte ich für umständlich, da ich mich dann nochmal mit der Beziehung zwischen den beiden Entities auseinandersetzen muss. Ich meine, die Beziehung existiert doch schon über die Member von "Schulklasse", da kann ich ja wunderbar auf die Schüler zugreifen.

Mir schwebt eine Mixtur aus beidem vor - eine Möglichkeit, den NSFetchedResultController mit dem Set von Entities zu benutzen, was schon als Attribut von Schulklasse existiert.

Ich bin doch nicht der erste, der nicht so viel Boilerplate Code schreiben will, um die Kindelemente eines Core-Data Entities effizient anzuzeigen, oder?
 
Es gibt leider keine weitere Möglichkeiten als die, die Du bereits aufgezeigt hast. Welche von beiden Du nimmst ist Geschmacksache bzw. situationsbedingt.