如果您查看NSPopUpButton 文档,您将能够看到您可以调用的所有方法以及它继承自什么。根据Getting User Selection
你有:
– selectedItem
– titleOfSelectedItem
– indexOfSelectedItem
– objectValue
当然这些都是方法,所以如果你想获取所选值的索引,你可以这样调用:
set my_index to myPopup's indexOfSelectedItem()
查看indexOfSelectedItem
文档中的条目:
indexOfSelectedItem
Returns the index of the item last selected by the user.
- (NSInteger)indexOfSelectedItem
Return Value
The index of the selected item, or -1 if no item is selected.
我们在上面对函数进行了概述,然后是函数的用法,最后是对返回值的描述。这告诉我们indexOfSelectedItem
不带任何参数(如果有,它看起来像- (NSInteger)indexOfItemWithTitle:(NSString *)title
)。左侧的返回值将是一个 NSInteger,而不是Applescript Integer。尽管 Applescript 可能能够以同样的方式处理它,但在某些情况下这会给您带来问题。解决方案是永远不要将 NSString 视为 AS 字符串,也永远不要将 NSInteger 视为 AS 整数。要进行转换,我们必须将其更改为 AS 字符串,然后再更改为 AS 整数:
set my_index to ((myPopup's indexOfSelectedItem()) as string) as integer
因此,对于您的代码,如果看起来您可以使用indexOfSelectedItem
或者 titleOfSelectedItem