2010-12-09 6 views
1

Ich habe eine Entität namens "Person" und eine Reihe von UIImages für sie (One-to-Many). Wenn der Benutzer die Bilder eingibt, wird er in chronologischer Reihenfolge zum Leben der Person aufgefordert.Geordnete Bilder für Entität in Core Data behalten

Wenn ich speichern & die Daten von Core Data wiederherstellen, muss ich die Bilder Reihenfolge beibehalten.

Wie würden Sie mir vorschlagen, es zu tun?

10x

Antwort

1

Hinzufügen und pflegen ein sortOrder Attribut auf Ihrem Bild Einheit. Fügen Sie einen Sortierungsdeskriptor für dieses Attribut hinzu, um die Bilder nach diesem Attribut sortiert zu halten. Core Data unterstützt keine geordneten Sammlungen aus Leistungsgründen.

+1

+1 zu Paul für die Notiz des Datums Teil - ich nicht. Wenn Sie es bereits in Ihrem Modell haben, verwenden Sie es anstelle eines separaten Sortierattributs. –

+0

+1 für das einfache Hinzufügen eines Sortierreihenfolgenattributs. Sie müssen die Sortierreihenfolge für jedes nach einem Einfügen oder Löschen bestellte Element aktualisieren, aber das sollte nicht zu schmerzhaft sein. –

+0

Ja. Normalerweise nicht schmerzhaft. :-) –

1

In diesem Fall ist das Datum, an dem das Bild hinzugefügt wurde, Daten, an denen Sie interessiert sind. Daher sollte es irgendwo in Ihrem Modell enthalten sein.

+0

Sie wollten das "Datum" -Attribut zur Bildeinheit hinzufügen? Nun, ich habe vergessen zu erwähnen, dass der Benutzer die Bilderliste bearbeiten kann - das heißt, er kann ein neues Bild hinzufügen und bestimmen, dass es das erste sein soll (oder zweite usw.). – Rizon

+0

In diesem Fall, Rizon, dann Sie Ich möchte ein separates sortOrder-Attribut für die Image-Entität verwenden, wie ich es ursprünglich in meiner Antwort angegeben habe. Wenn der Benutzer per Drag-and-Drop die Bilder einer Person neu anordnet, müssen Sie sie mit dem Attribut sortOrder neu nummerieren. –

+0

und jedes Mal, wenn ein Bild dazwischen eingegeben wird - muss ich alle sequentiellen durchlaufen und ihre sortOrder erhöhen? – Rizon