NSTableViewをSwift 3とXCode 8で動作させるのに問題があります。私は1つのテーブルと1つの列を持つアプリケーションをNSMutableArrayから追加しようとしています。ここに私のコードは次のとおりです。Swift3でNSTableViewを動作させることができません
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ビューに設定されています。
自分でデリゲートとしてテーブルデータソースを設定しましたか? – pbush25