2010-11-18 10 views
1

Ich habe eine NSTableView, wobei jede Spalte an den entsprechenden Wert in einem NSArrayController gebunden ist. Eine der Spalten enthält eine NSImageCell, die ein Bild anzeigt.NSArrayController, benutzerdefinierte Sortierung

Ich möchte nach dieser Spalte sortieren, aber offensichtlich nach dem Objektwert eines Bildes sortieren ist nicht was ich will. Ich sortiere tatsächlich nach der Kombination anderer Felder, aber ich kann nicht herausfinden, wie ich das einrichten soll. Wenn ich auf die Spaltenüberschrift für das betreffende Feld klicke, erscheinen die Sortierpfeile nicht.

Ich habe NSSortDescriptors auf den NSArrayController angewendet, um die anderen Spalten zu sortieren, aber beim Sortieren scheint es, dass alle NSSortDescriptors Zugriff auf den Objektwert der Tabellenzelle haben.

Ich muss nach einer Vergleichsmethode für das Objekt sortieren, dass der Objektwert eine Eigenschaft von ist. Ist das möglich? Ich habe bereits NSArrayController subclassiert, und es scheint, als ob irgendwo drin eine gute Wette wäre, aber ich kann nichts in der Dokumentation finden, die hilft.

+0

Warten - ist es der Sortierschlüssel, in IB? Wie stellt man das programmatisch ein? –

Antwort

1

Ok, also habe ich das gelöst, indem ich einfach die Tabellenspalte in IB erstellt habe und dort den Sortierschlüssel gesetzt habe. Es war ein bisschen wie ein Workaround, aber es endete damit, dass ich meinen Code ein wenig reduzierte, also kann ich mich nicht beschweren. Es erscheint seltsam, dass Sie einen Sortierschlüssel nicht programmatisch festlegen können. Zumindest nicht über irgendeine Methode die ich finden kann.

Verwandte Themen