使用Storyboard创建NSTableView

时间:2014-12-16 03:26:22

标签: objective-c cocoa nstableview

我使用故事板的步骤

  1. 使用storyboard创建Mac Cocoa应用。将表格视图从右侧边栏拖到故事板上。
  2. 让预先存在的ViewController遵循NSTableViewDataSource协议。在ViewController.m中实施两种方法:numberOfRowsInTableView:返回10,tableView:objectValueForTableColumn:row:返回@" 321"。
  3. 在情节提要中,将Table View的委托和dataSource连接到(唯一的)View Controller。
  4. 问题

    每个单元格显示"表格查看单元格"而不是我想填写的数据。尽管如此,tableView:objectValueForTableColumn:row:确实被称为10次。

    使用.xib

    的替代方法

    https://www.youtube.com/watch?v=p5U94-uRCOo

    1. 使用.xib而不是.storyboard。将表格视图从右侧边栏拖到故事板上。
    2. 创建一个遵循NSTableViewDataSource协议的MyTableViewController类。实现相同的两种方法。
    3. 在xib中,将新对象拖到对象上。将其类更改为MyTableViewController并将该对象连接到表视图的dataSource。

1 个答案:

答案 0 :(得分:0)

您的表格视图需要基于单元格而不是基于视图。在documentation抢夺。

tableView:objectValueForTableColumn:row:用于基于单元格的表格和

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row用于基于视图的表格视图。