在objc中,我可以得到selectedItem、titleOfSelectedItem和indexOfSelectedItem的NSPopUpButton:
- (IBAction) myPopUpButton: (id)sender {
NSLog( [sender selectedItem] ); // works
NSLog( [sender titleOfSelectedItem] ); // works
NSLog( [sender indexOfSelectedItem] ); // works
}在“快速”中,我可以得到selectedItem和titleOfSelectedItem,但不能得到NSPopUpButton的indexOfSelectedItem:
@IBAction func myPopUpButton(sender: AnyObject) {
println(sender.selectedItem) // works
println(sender.titleOfSelectedItem) // works
println(sender.indexOfSelectedItem) // does not work
}我遗漏了什么?
发布于 2014-09-08 13:06:32
看上去像个虫子。如果将其转换为NSPopUpButton,它将按预期工作:
func myPopUpButton(sender: AnyObject) {
if let pub = sender as? NSPopUpButton {
println(pub.selectedItem) // "<NSMenuItem: 0x7fd75b63cec0 1>"
println(pub.titleOfSelectedItem) // "1"
println(sender.indexOfSelectedItem) // "(Function)" !!! What???
println(pub.indexOfSelectedItem) // "0"
}
}
let b = NSPopUpButton()
b.addItemsWithTitles(["1", "2"])
b.selectItemAtIndex(0)
myPopUpButton(b)https://stackoverflow.com/questions/25714706
复制相似问题