2015-04-03 50 views
0

我跟着这个tutorial而不是nib文件,我用故事板。我不知道我做了什么错误。当我运行它时,它只显示10个tableview单元格,它不显示我传递的值。NSTableView不工作

这是我使用的代码 - >

this is the storyboard view // MARK: - NSTableViewDataSource

func numberOfRowsInTableView(aTableView: NSTableView!) -> Int { 
     return 10 
    } 

    func tableView(tableView: NSTableView!, viewForTableColumn tableColumn: NSTableColumn!, row: Int) -> NSView! { 
     // 1 
     var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableView.identifier, owner: self) as NSTableCellView 

     // 2 
     if tableColumn.identifier == "BugColumn" { 
      // 3 

      cellView.imageView!.image = NSImage(named: "delete")! 
      cellView.textField!.stringValue = "Alvin" 
      return cellView 
     } 

     return cellView 
    } 



override func awakeFromNib() 
    { 
     self.tableView.setDataSource(self) 
     self.tableView.setDelegate(self) 
    } 

请帮我搞清楚,我在这里失踪?输出:我只是得到默认的tableView单元十倍,有我在dataSource给出的值。提前致谢。

+0

你为什么标签作为iOS的你的问题时,你的代码显然是OSX(NSImage中,NSTableView的)? – 2015-04-03 05:35:20

+0

@LeonardoSavioDabus是的,我是一个错误。 – 2015-04-03 06:00:31

回答

0

您正在使用的tableView的标识,而是你应该使用的TableColumn的一个:

var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableView.identifier, owner: self) as NSTableCellView 
//                ^^^^^^^^^ 

var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableColumn.identifier, owner: self) as NSTableCellView