以编程方式创建 NSTableView 和自定义 NSViewController
Posted
技术标签:
【中文标题】以编程方式创建 NSTableView 和自定义 NSViewController【英文标题】:Creating an NSTableView and custom NSViewController programmatically 【发布时间】:2014-03-19 06:28:15 【问题描述】:在 Interface Builder 中创建 NSTableView 并将其连接到 NSViewController 的子类以获取其数据(在 Interface Builder Objects 部分中实例化)没有问题。
现在我想以编程方式创建 NSTableView 和 NSViewController,但我无法弄清楚如何(我是 Cocoa 的新手)。鉴于 NSViewController 子类没有 nib,对此的标准方法是什么?
顺便说一句,我想这样做的原因是我想创建任意数量的小表格视图,它们将在滚动视图中出现(分隔)。这是我会后悔的事情吗?从单个表视图中自定义地狱,使其看起来被分解为多个部分,而不是实际具有单独的表视图会更好吗?
谢谢!
【问题讨论】:
【参考方案1】:您可以像创建任何其他对象一样使用[[NSTableView alloc] init]
创建表格视图。从那里您可以以相同的方式创建NSTableColumn
实例,并使用addTableColumn:
添加它们,并使用setDataSource:
将其连接到视图控制器。然后使用addSubview:
将其添加到父视图。
几乎所有可以在 Interface Builder 中完成的事情都可以通过这种编程方式完成,尽管它通常更复杂,如果你能提供帮助,不建议这样做。
另一种方法是设计一个新的NSViewController
子类来处理表格,为表格视图创建一个单独的.xib 文件,并根据需要使用initWithNibName:bundle:
实例化每个新的表格视图。
【讨论】:
以上是关于以编程方式创建 NSTableView 和自定义 NSViewController的主要内容,如果未能解决你的问题,请参考以下文章
核心数据、NSTableColumn 绑定和自定义 NSCell