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:
ordered
-Flag den Datentyp der to-many-Beziehung von NSSet
auf NSArray
ändern? Vielen Dank!
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.
Tags und Links objective-c core-data order flags