Frage

Ich möchte eine NSFormatter Unterklasse verwenden, um den Inhalt eines NSPopUpButton zu formatieren Ich verwende eine Liste der möglichen Optionen anzuzeigen.

Im Prinzip habe ich eine NSArray von MyObjects die den NSPopUpButton über den Inhalt Werte gebunden ist bindend und ich möchte etwas in dem Pop-up-Menü aufzurufen andere als das, was von -description zurückgeführt wird. Ich will nicht wirklich einen Transformator verwenden, da dann muß ich ein völlig neues Array erstellen und jedes Objekt in einen String umwandeln, bevor es an das neue Array hinzugefügt wird.

Mit setFormatter: auf dem NSPopUpButton über sich entweder IB oder Code nicht funktioniert, wie ich vermute, weil nur die Formatierer für die einzelne Zelle, um die Elemente in der Liste angewandt werden,

.

Gibt es eine einfache Möglichkeit, einen Formatierer für alle Zellen des NSPopUpButton zu setzen? Grundsätzlich möchte ich nur in der Lage sein, es einmal einstellen und vergessen Sie es.

War es hilfreich?

Lösung

Normalerweise werden Sie Ihre Pop-up-Taste, um einen Array-Controller binden, die benutzerdefinierten Modellobjekte enthält (durch den Inhalt Bindung), und verwenden Sie die Inhaltswerte einen Schlüsselpfad mit der Zeichenfolge auf derjenigediejenigedasjenige Objekt angeben Bindung Sie als Titel verwenden mögen .

Von dem, was ich verstehe, Sie eine Reihe von einfachen Strings haben Sie als Datenquelle verwenden möchten, nur wollen Sie für den Titel eine andere Zeichenfolge angezeigt werden, nicht wahr?

Ich bin mir nicht sicher, warum ein Datum Transformator machen würde, wenn nicht funktioniert wie der above-- einrichten oder vielleicht etwas, was ich bin Missverständnis? Sie müßten eine die eigentlichen String-Bindung und eine andere Bindung an die Zeichenfolge unter Verwendung einen Transformator, aber beide würden die gleichen Array-Controller verwenden. Weitere Optionen sind die Schaffung einer Modellklasse um die Saiten zu wickeln und einen Titel Eigenschaft bieten, oder eine Kategorie NSString erstellen, die Ihren Titel kehrt als Anzeigewert zu verwenden, verbindlich. In all diesen Fällen können Sie Ihre eigenen NSFormatter in Code erstellen und verwenden es die richtige Zeichenfolge Titel zurückzukehren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top