我有問題讓NSTableView與Swift 3和XCode 8一起工作。我有一個應用程序,其中包含一個表格和一列,並嘗試從NSMutableArray添加項目。這裏是我的代碼:不能使NSTableView在Swift3中工作
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var tableView: NSTableView!
var objects: NSMutableArray! = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
self.objects.add("one")
self.objects.add("two")
self.objects.add("three")
self.objects.add("four")
self.tableView.reloadData()
}
func numberOfRowsInTableView(tableView: NSTableView) -> Int
{
return self.objects.count
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any?
{
let cellView = tableView.make(withIdentifier: "cell", owner: self) as! NSTableCellView
cellView.textField!.stringValue = self.objects.object(at: row) as! String
return cellView
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
但是這給了我一個錯誤:
*** Illegal NSTableView data source (<NSView: 0x610000120820>). Must implement numberOfRowsInTableView: and tableView:objectValueForTableColumn:row
看起來boths方法,這樣我不知道爲什麼我得到這個錯誤。 表視圖的dataSource和委託都設置爲man View。
您是否將您的表格數據源設置爲代表自我? – pbush25