2017-05-31 2 views
1

Ich entwickle ein Sketch-Plugin. In dem modalen Fenster, das ich benutze, um Benutzereingaben zu erhalten, gibt es eine Auswahl. Ich kann auf den Wert von textField zugreifen, aber ich kann nicht auf den Wert von select zugreifen.Erhalte den Wert von selectbox in Cocoascript

Hier ist, wo ich erstellen die select:

var chooseFormatOptions = ['.png', '.jpg', '.pdf']; 
var chooseFormatSelect = NSComboBox.alloc().initWithFrame(NSMakeRect(0, 250, viewWidth, 30)); 
chooseFormatSelect.addItemsWithObjectValues(chooseFormatOptions); 

Hier ist, wo ich versuche Wert der Combo-Box

if (response == "1000"){ 
     var projectName = projectField.stringValue(); 
     var deviceName1 = firstDevicefield.stringValue(); 
     var deviceDim1 = firstDimfield.stringValue(); 
     var deviceName2 = secondDevicefield.stringValue(); 
     var deviceDim2 = secondDimfield.stringValue(); 
     var format = chooseFormatSelect.objectValues.indexOfSelectedItem(), 
     //var scale = chooseScaleOptions.stringValue(); 
     //var pathOption = choosePathOptions.stringValue(); 
     } 

Der Fehler zu bekommen, dass es mich gibt, wenn ich das Plugin laufen (wenn Antwort == 1000) ist: kann die Variable ChooseFormatSelect nicht finden.

Wissen Sie, warum ich Werte von Eingabefeldern bekommen kann (so kann es Variablen finden), aber nicht das der ausgewählten?

Antwort

-1

Was ist mit Zugriff Textfeld 'Text' Variable während der Beobachtung von Änderungen?

Sie können diese link hilfreich finden (hinzuzufügen hinzufügen).

Für NSComboBox this

einfach implementieren folgen Delegat dann durch Zugriffswert method

+0

folgende ich mit Textfield Probleme nicht haben. Ich kann leicht auf den Wert zugreifen, indem ich nameField.stringvalue() aufruft. Aber das funktioniert nicht für die Auswahlbox. Der Debugger sagt mir, dass er die Variable nicht finden kann, auch wenn er die Variable finden kann, die den Wert von textField enthält. Beide sind in der gleichen Funktion. Warum kann es auf das erste und nicht auf das andere zugreifen? –

+0

@MatteoVacca Beobachter hinzufügen und Wert speichern, den Sie zu jeder Variable wünschen. Ich verstehe nicht, über welchen Wert du sprichst, wenn du Textfelder verwendest, ändert sich nur die Variable textField.text –

+0

Ich verstehe nicht, warum ich einen Beobachter verwende. Ich versuche, klarer zu sein: Ich habe mehrere Eingabefelder in einer Alarmansicht und einer Combobox. Von der Hauptfunktion rufe ich die Funktion auf, um das Layout der modalen Ansicht zu erstellen, wo ich Eingabefelder und Kombinationsfeld einstelle. Von der Hauptleitung kann ich auf Werte des Eingabefeldes zurückgreifen (wenn Benutzer also die Eingabe eingeben, kann ich ihren Wert erhalten), aber ich kann nicht auf das ausgewählte Element in dem Kombinationsfeld zugreifen. Ich kann nicht verstehen warum. –

Verwandte Themen