我想在代码中创建一个tableview,而不是IB,但它不会显示。这是我的代码:
- (void)createTableView{
_tableView = [[NSTableView alloc]initWithFrame:NSMakeRect(0, 0, 700, 300)];
[_tableView setBackgroundColor:[NSColor cyanColor]];
[_tableView setDelegate:self];
[_tableView setDataSource:self];
[self addSubview:_tableView];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{
return 10;
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
NSButtonCell *cell = [[[NSButtonCell alloc] init] autorelease];
[cell setAllowsMixedState:YES];
[(NSButtonCell *)cell setButtonType:NSSwitchButton];
[cell setTitle:@"Test"];
return cell;
}
当我调试时,我发现它没有运行objectValueForTableColumn:
。
我不知道为什么。
答案 0 :(得分:3)
您尚未向表格视图添加任何表格列。请使用-[NSTableView addTableColumn:]
。
另外,我不确定你期望将一个单元格作为行的对象返回&柱。该方法应该返回一个适合由该行中的单元格显示的对象。列。