gpt4 book ai didi

objective-c - Swift:获取 NSPopUpButton 的 indexOfSelectedItem

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:42 25 4
gpt4 key购买 nike

在 objc 中,我可以获得 NSPopUpButton 的 selectedItem、titleOfSelectedItem 和 indexOfSelectedItem:

- (IBAction) myPopUpButton: (id)sender {
NSLog( [sender selectedItem] ); // works
NSLog( [sender titleOfSelectedItem] ); // works
NSLog( [sender indexOfSelectedItem] ); // works
}

在 swift 中,我可以获得 selectedItem 和 titleOfSelectedItem 但不是 NSPopUpButton 的 indexOfSelectedItem:

@IBAction func myPopUpButton(sender: AnyObject) {
println(sender.selectedItem) // works
println(sender.titleOfSelectedItem) // works
println(sender.indexOfSelectedItem) // does not work
}

我错过了什么?

最佳答案

它看起来像一个错误。如果将它转换为 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)

关于objective-c - Swift:获取 NSPopUpButton 的 indexOfSelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com