Was macht die 'geordnete' Flagge in einer zu vielen Beziehung?

8

Auf der Suche nach Möglichkeiten, eine sortierte to-many-Beziehung zu meinem Core-Datenmodell mit möglichst wenigen Änderungen am Modell hinzuzufügen, ist mir eine Option der to-many-Beziehung mit ordered aufgefallen (siehe Screenshot) unten). Wow, klingt großartig, aber was macht es?

Mein SQLite-Store klagt nicht, wenn ich ihn ankreuze oder deaktiviere, und meine App kompiliert und läuft auch gut. Ich dachte, vielleicht kümmert sich die leichtgewichtige Migration um die Änderung, aber von dem Aussehen her funktionieren all meine benutzerdefinierten NSManagedObject -Unterklassen ohne die Notwendigkeit einer Modifikation, also was ist los?

Um die Fragen zusammenzufassen:

  • Sollte dieser ordered -Flag den Datentyp der to-many-Beziehung von NSSet auf NSArray ändern?
  • Oder ist es nur so, dass die Reihenfolge, in der die Menge geändert wird, beim sequentiellen Lesen und Schreiben bestehen bleibt?
  • Oder bin ich falsch mit meinen Annahmen und ist es etwas ganz anderes?
  • Gibt es eine Apple Doc-Seite, auf der diese Funktion beschrieben wird?

Vielen Dank!

    
epologee 08.09.2011, 09:44
quelle

1 Antwort

11

Mit geordneten Beziehungen können Sie verwandten Objekten eine beliebige Reihenfolge zuweisen. Sie können sich das so vorstellen, dass Sie Farben von Ihren Lieblingsorten zu den am wenigsten bevorzugten sortieren, anstatt nach Datum, Titel usw. zu sortieren.

Bevor diese Funktion hinzugefügt wurde, wurde die Reihenfolge implementiert, indem ein Positionsattribut erstellt und die Positionsindizes für Elemente manuell aktualisiert wurden, sobald der Benutzer sie neu ordnete. Wenn Sie eine große Anzahl von Elementen haben, kann die Verwendung der integrierten Reihenfolge teurer sein als die manuelle Implementierung, wie oben beschrieben.

    
Scott Ahten 08.09.2011, 21:08
quelle

Tags und Links