我有一个NSTableView
主要使用标准NSTextTableCellView
但我想要一些其他单元格在我的表中包含一行或两行中的另一个UI组件。问题是:我在哪里定义这些自定义单元格以便Cocoa找到它们?
我刚刚将自定义NSTableCellView
放入我的XIB(表中的XIB),并为其指定了标识符。但是后来使用这个代码显然找不到单元格......
func tableView(tableView:NSTableView, viewForTableColumn tableColumn:NSTableColumn?, row:Int) -> NSView?
{
var view:NSTableCellView?;
if (tableColumn?.identifier == "labelColumn")
{
view = tableView.makeViewWithIdentifier("labelCell", owner: nil) as? NSTableCellView;
view!.textField?.stringValue = _formLabels[row];
}
else if (tableColumn?.identifier == "valueColumn")
{
if (row == 1)
{
view = tableView.makeViewWithIdentifier("customCell", owner: nil) as? NSTableCellView;
println("\(view)"); // nil - Not found!
}
else
{
view = tableView.makeViewWithIdentifier("valueCell", owner: nil) as? NSTableCellView;
view!.textField?.stringValue = _formValues[row];
}
}
return view;
}
一切正常,但找不到ID为customCell
的单元格。我怎么告诉Cocoa找到它?
答案 0 :(得分:1)
您需要删除包含该类单元格视图的表格列中的新单元格视图(标识符为" valueColumn",在这种情况下)。