我真的为这个问题提前道歉,但我并不完全了解表格如何在OSX应用程序中运行。我希望用户能够做的是在单个列表中选择多行,并且我想知道选择了哪些行。应用程序填充表,用户无法更改它。我一直在网上搜索,我和我拼凑了下面的代码,这是一个列表的控制器。我在IB中创建了一个表视图,并将其数据源和委托给IB中的文件所有者。我现在有一个包含我定义的数组的表,可以突出显示行:
控制器代码如下:
import Cocoa
class MainWindowController: NSWindowController {
let mylist = [ "worm", "pickle", "ladybug" ]
override var windowNibName: String {
return "MainWindowController"
}
override func windowDidLoad() {
super.windowDidLoad()
}
}
// NSTableViewDataSource
extension MainWindowController: NSTableViewDataSource {
func numberOfRowsInTableView( aTableView: NSTableView ) -> Int {
return mylist.count
}
func tableView( tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
var cellView: NSTableCellView = tableView.makeViewWithIdentifier( tableColumn!.identifier, owner: self ) as! NSTableCellView
cellView.textField!.stringValue = mylist[ row ]
return cellView
}
}
// NSTableViewDelegate
extension MainWindowController: NSTableViewDelegate {
}
我不明白的是如何允许用户选择多行以及如何访问选择哪些行。我有一种感觉,我错过了一些简单的东西,但我只是难倒。非常感谢任何帮助。