目标 c - NSTableView 并非所有数据源方法都收到调用



我以编程方式创建了一个表视图,并成功添加了列、委托和数据源。但问题是只有一种数据源方法被调用,即

-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView

正如这里提出的问题:NSTableView:仅 numberOfRowsInTableView:数据源被调用

但是这个问题没有具体的答案。

这是我创建表视图的代码:

customTableView=[[NSTableView alloc]initWithFrame:frame];
[customTableView setBackgroundColor:[NSColor redColor]];
customTableView.delegate=self;
customTableView.dataSource=self;
NSTableColumn * column1 = [[NSTableColumn alloc] initWithIdentifier:@"Col1"];
[column1 setWidth:frame.size.width];
[customTableView addTableColumn:column1];
[self addSubView:customTableView];
[customTableView reloadData];

此外,我所有的数据源方法都在同一个类中。

编辑:我正在单独的视图类中创建此表视图,而不是在ViewController或AppDelegate中。

我认为您缺少将表视图作为子视图添加到窗口的代码段。

假定在其中创建表视图的对象具有 window 属性。以下方法可以解决问题:

[[self.window contentView] addSubview:customTableView];

我想你已经用init编写了所有方法。

尝试将setDatasourcesetDelegate移至awakeFromNib

相关内容

最新更新