2009-08-14 5 views
1

Ich fange gerade an, Coredata zu lernen. In meinem Kerndatenmodell habe ich einen Datumsstempel (vom Typ NSDate), der das Datum und die Uhrzeit enthält (ich brauche diese Information). Jetzt möchte ich die Core Data Tabelle in Abschnitte nach Tagen organisieren. Wie kann ich das machen. Die einzigen Beispiele, die ich gefunden habe, verwenden direkt eine Kerndateneinheit, um die Abschnitte zu erstellen, in diesem Fall gibt dies mir einen Abschnitt für jeden Eintrag in der Tabelle. Jede Hilfe wäre sehr willkommen, vor allem mit einem Codebeispiel.wie benutzerdefinierte Abschnitte in einer Tabellenansicht basierend auf Coredata-Entitäten erstellt werden

Antwort

4

, ein Verfahren zu Ihrer verwalteten Objektklasse hinzufügen, die den Titel für den Abschnitt gibt ein Objekt in sein sollte.

Zum Beispiel, wenn Sie eine Klasse von Thingummy haben, die ein NSDate und Sie wollen, dass sie von Tag gruppierten enthalten , fügen Sie eine Methode zu Ihrer Klasse Thingummy hinzu, die die NSDate betrachtet und eine Zeichenfolge mit dem Tag zurückgibt.

Dann, wenn feuern Ihre NSFetchedResultsController geben Sie den Namen dieser Methode als sectionNameKeyPath.

(siehe diesen Beitrag in dem Apple iPhone Dev Foren (wenn Sie dort registriert sind): https://devforums.apple.com/message/81710#81710)


ein paar Ansätze, um den Code in Ihre verwalteten Objektklasse gibt es immer. Wenn Sie es einfach hinzufügen, müssen Sie sehen, wie Xcode Ihren Code für Sie generiert. Wenn Sie den Code in Zukunft direkt in die Datei konvertieren, wird die benutzerdefinierte Klasse überschrieben.

Entweder Sie können den Code in die Zwischenablage kopieren oder Sie können Ihre benutzerdefinierte Methode als Klasse in einer separaten Datei zur verwalteten Objektklasse hinzufügen, wo sie vor automatisierten Manipulationen geschützt ist.

+0

Vielen Dank für Ihre Antwort (und den Link), das scheint genau das zu sein, was ich brauche !!! –