注意:安德鲁的回答让我又看了看。此功能深埋在具有内部计时器的大型应用程序中。如果该计时器关闭,我会得到此处描述的错误行为。如果计时器开启,事情会按预期工作。我不知道为什么那个计时器会与这个表格视图交互,但是,正如我所说,它是一个庞大而复杂的应用程序。
我希望用户能够选择要显示的列。他将看到一组单选按钮或复选框,显示对象中的每个键对应一个。他可以选中或取消选中一个框,NSTableView 将为该键添加或删除一列。
显示的对象是一个 NSDictionary。字典的键直到运行时才知道,所以我必须在运行时创建带有标识符的列......它们在编译时是未知的。
实现添加功能很顺利。我创建了一个列和一个标题单元格,将标题单元格的文本设置为某个值。但删除并不是那么容易。 [myTableView removeTableColumn:col]
删除列,但不能很好地处理标题。有时不会删除标题文本。有时会删除两列中的标题文本。有时我最终会得到两个相互叠加的标题文本字符串。
显然我错过了一些东西。如何以编程方式删除列及其标题?