2016-04-04 10 views
0

Ich habe zwei Einheiten CIDMPost und CIDMUser. CIDMPost hat eine one-to-many Beziehung mit CIDMUser namens invitees. Jetzt habe ich eine Instanz von CIDMPost lässt sagen postObject von wo ich leicht die eingeladenen bekommen kann, indem Sie schreiben postObject.invitees, die zurückgeben wird.Kerndaten: NSFetchedResultsController mit Objekten sind in einer Beziehung

Jetzt ist meine Anforderung, ich möchte diese eingeladenen (postObject.invitees) als NSFetchedResultsController in einer UITableView mit Stil Group zeigen. Auch sein Bedürfnis, das unten zu befriedigen.

  1. Gruppiert nach invitationStatus (ein Attribut CIDMUser)
  2. Sortieren nach invitationStatus ASC

Erklärung:

ich einige Dinge versucht, meine Anforderung zu erfüllen, aber ein abgestürzt bekam und der Grund war Invalid to many relationship. Um die Lösung dieses Absturzes zu kennen, habe ich vor einer Stunde 'a question' gepostet. Aber nach ein paar Gesprächen mit Daij-Djan hatte ich erfahren, dass der ganze Prozess, den ich versuchte, falsch ist.

Antwort

1

Holen Sie einfach die Benutzer in Ihrem abgerufenen Ergebnis-Controller und wenden Sie die Sortierdeskriptoren wie gewünscht Filter nach Einladung mit einem Prädikat an. Verwenden Sie das Feld "status" als Argument sectionNameKeyPath, wenn Sie den abgerufenen Ergebniscontroller erstellen.

NSPredicate(format: "%@ in invitations", post) 

wo post ist die Post-Objekt, zu dem Sie die eingeladenen Teilnehmer angezeigt werden soll, und invitations ist das Gegenteil zu-viele-Beziehung auf den Posten, auf die Benutzer eingeladen werden.

(Ich gehe davon aus, dass ein Benutzer zu mehr als einem Beitrag eingeladen werden kann, was logisch erscheint. In Ihrer Problembeschreibung erwähnen Sie eine Eins-zu-viele-Beziehung, die mir so viele sein sollte -viele).

+0

Dank bro. Ich habe tatsächlich danach gesucht. :) –