Hallo Leute,
als Neuling in Sachen Core Data habe ich ein Problem, die Instanzen einer To-Many Relationship ordentlich in einer NSTableView sortiert zu halten.
Und zwar habe ich eine Entitiy "Category" und eine weitere "Card", je durch einen NSArrayController verwaltet. Category hat eine To-Many Relationship zu Card. Die beiden Attribute von Card sind number (int) und name (String) und sind an zwei Spalten einer NSTableView gebunden.
So, was ich möchte: Der Nutzer kann die Karten durch Klick auf den jeweiligen Column Header nach Nummer oder Name sortieren. Wenn er eine neue Karte einfügt, dann soll diese in die letzte Zeile der Tabelle eingefügt werden. Sie soll also nicht direkt beim Einfügen auch sortiert werden, sondern erst beim erneuten Klick auf den Header.
Was ohne Behandlung bislang passiert: Sortieren geht für den Moment, aber beim Einfügen einer neuen Karte springen alle Zeilen der Tabelle beliebig hin und her (was beim Löschen aber nicht passiert) und die neue Karte wird an beliebiger Stelle eingefügt.
Leider weiß ich nicht, wie ich hier vorgehen soll. Das Problem ist wohl, dass der ArrayController seine Instanzen als Set vorhält.
Für jede Hilfe bin ich sehr dankbar!
Viele Grüße vom Grinch!
als Neuling in Sachen Core Data habe ich ein Problem, die Instanzen einer To-Many Relationship ordentlich in einer NSTableView sortiert zu halten.
Und zwar habe ich eine Entitiy "Category" und eine weitere "Card", je durch einen NSArrayController verwaltet. Category hat eine To-Many Relationship zu Card. Die beiden Attribute von Card sind number (int) und name (String) und sind an zwei Spalten einer NSTableView gebunden.
So, was ich möchte: Der Nutzer kann die Karten durch Klick auf den jeweiligen Column Header nach Nummer oder Name sortieren. Wenn er eine neue Karte einfügt, dann soll diese in die letzte Zeile der Tabelle eingefügt werden. Sie soll also nicht direkt beim Einfügen auch sortiert werden, sondern erst beim erneuten Klick auf den Header.
Was ohne Behandlung bislang passiert: Sortieren geht für den Moment, aber beim Einfügen einer neuen Karte springen alle Zeilen der Tabelle beliebig hin und her (was beim Löschen aber nicht passiert) und die neue Karte wird an beliebiger Stelle eingefügt.
Leider weiß ich nicht, wie ich hier vorgehen soll. Das Problem ist wohl, dass der ArrayController seine Instanzen als Set vorhält.
Für jede Hilfe bin ich sehr dankbar!
Viele Grüße vom Grinch!