如何让填充的组合框在 Swift 中显示其选项?
How can I get a populated combobox to display its options in Swift?
使用此代码,我可以在 NSComboBox
中填充项目,但是当您在应用程序中展开组合框时,它本身始终为空。
记录的项目数是准确的。我知道这是相当基本的,但我已经阅读并重新阅读了 developer.apple.com 中的文档,并在 Swift 中查找了组合框的示例但无济于事,这让我感到非常惊讶。
@IBOutlet var someComboBox: NSComboBox!
override func viewDidLoad() {
super.viewDidLoad()
someComboBox = NSComboBox()
someComboBox.addItemWithObjectValue("Foo")
someComboBox.addItemWithObjectValue("Bar")
someComboBox.addItemWithObjectValue("Baz")
println(someComboBox.numberOfItems)
}
结果:
您的组合框是一个 IBOutlet
,因此 Storyboard 已经为您创建了该对象;你只需要初始化它。所以删除:
someComboBox = NSComboBox()
因为这是在分配一个新的组合框并覆盖对情节提要中创建的组合框的引用。您的新组合框不是屏幕上显示的那个。
使用此代码,我可以在 NSComboBox
中填充项目,但是当您在应用程序中展开组合框时,它本身始终为空。
记录的项目数是准确的。我知道这是相当基本的,但我已经阅读并重新阅读了 developer.apple.com 中的文档,并在 Swift 中查找了组合框的示例但无济于事,这让我感到非常惊讶。
@IBOutlet var someComboBox: NSComboBox!
override func viewDidLoad() {
super.viewDidLoad()
someComboBox = NSComboBox()
someComboBox.addItemWithObjectValue("Foo")
someComboBox.addItemWithObjectValue("Bar")
someComboBox.addItemWithObjectValue("Baz")
println(someComboBox.numberOfItems)
}
结果:
您的组合框是一个 IBOutlet
,因此 Storyboard 已经为您创建了该对象;你只需要初始化它。所以删除:
someComboBox = NSComboBox()
因为这是在分配一个新的组合框并覆盖对情节提要中创建的组合框的引用。您的新组合框不是屏幕上显示的那个。