2017-05-31 32 views
1

我正在開發一個草圖插件。在我用來獲取用戶輸入的模式窗口中有一個選擇。我可以訪問textField的值,但我無法訪問select的值。獲取cocoascript中的selectbox的值

這裏是我創建的選擇:

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

這裏就是我試圖讓組合框的值

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(); 
     } 

,它給我,當我運行的插件(如果錯誤響應== 1000)是:找不到變量chooseFormatSelect。

你知道爲什麼我可以得到輸入字段的值(所以它可以找到變量),但不是選擇的值嗎?

回答

-1

在觀察變化的同時訪問文本字段「文本」變量呢?

您可能會發現此link有用(添加觀察)。

對於NSComboBox遵循this

只需通過以下method

+0

我沒有用任何文本框的問題實行委託然後訪問值。我可以很容易地訪問它的值調用nameField.stringvalue()。但是這對於選擇框不起作用。調試器告訴我它找不到變量,即使它可以找到包含textField值的變量。兩者都具有相同的功能。爲什麼它可以訪問第一個而不是另一個? –

+0

@MatteoVacca添加觀察者並將您想要的值保存到任何變量中。我不明白你說什麼價值,如果你使用文本字段唯一的變量是改變textField.text –

+0

我不明白爲什麼使用觀察員。我試圖更加清楚:我在警報視圖和一個組合框中有幾個輸入字段。從主函數中,我調用函數來創建模態視圖的佈局,在此處輸入字段和組合框。從主我可以訪問輸入字段的值(所以如果用戶在輸入中輸入我可以得到它的值),但我不能訪問組合框中選定的項目。我不明白爲什麼。 –

相關問題