从Data Source填充NSComboBox

时间:2015-10-06 07:01:56

标签: macos swift2 nscombobox

此代码编译正常,但ComboBox(cbxColors)为空 - 未从数据源(数组:COLORS_OF)填充。 IB中检查Uses Data Source

func numberOfItemsInComboBox()会返回正确的结果:5。

func comboBox()没有做好自己的工作。

我错过了什么?

已编辑:正在运作。

import Cocoa

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSComboBoxDelegate, NSComboBoxDataSource {

@IBOutlet weak var window: NSWindow!


func applicationDidFinishLaunching(aNotification: NSNotification) {

    cbxColors.dataSource = self

    numberOfItemsInComboBoxCell(cbxColors)
    comboBoxCell(cbxColors, objectValueForItemAtIndex: 0)
}

func applicationWillTerminate(aNotification: NSNotification) {

}

@IBOutlet weak var cbxColors: NSComboBox!
@IBOutlet weak var txtResult: NSTextField!


@IBAction func actColors(sender: NSComboBox) {
    // display User selected item in 'txtResult'
}

func numberOfItemsInComboBoxCell(aComboBox: NSComboBox) -> Int {
    return(COLORS_OF.count)
}

func comboBoxCell(aComboBox: NSComboBox, objectValueForItemAtIndex index: Int) -> AnyObject {
    return(COLORS_OF[index])
}

let COLORS_OF = [ "Blue", "Green", "Purple", "Red", "Yellow" ]
} 

1 个答案:

答案 0 :(得分:1)

您可能忘记检查使用数据源,或者您必须删除数据源连接并重新连接(Xcode的奇怪错误)。

enter image description here

除此之外,如果你的网点被正确挂钩,你的代码就可以了。

enter image description here