2015-04-03 2 views
0

Я следил за этим tutorial вместо файлов nib, я использовал раскадровку. Я понятия не имею, какую ошибку я сделал. Когда я запускаю его, он просто показывает 10 ячеек таблицы, он не отображает значения, которые я передал.NSTableView не работает

Это код, который я использовал ->

this is the storyboard view // МАРК: - 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

Почему вы помечать вопрос, как прошивка, когда ваш код, очевидно, для OSX (NSImage, NSTableView)? –

+0

@LeonardoSavioDabus Да, я ошибся. –

ответ

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 
Смежные вопросы