4

このコードを使用すると、アイテムを に取り込むことができ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)
}

そして結果: ここに画像の説明を入力

4

1 に答える 1

5

あなたのコンボボックスは であるIBOutletため、オブジェクトはすでにストーリーボードによって作成されています。初期化するだけです。だから削除:

someComboBox = NSComboBox()

これは、新しいコンボ ボックスを割り当て、ストーリーボードで作成されたものへの参照を上書きするためです。あなたの新しいコンボボックスは、画面上にあるものではありません。

于 2015-01-23T18:22:25.320 に答える