将一个nib文件用于多个NSViewControllers

时间:2013-11-06 09:15:31

标签: objective-c macos nstableview nsviewcontroller

我有一个NSTableView笔尖,其中包含许多将在3个不同NSViewControllers中重复使用的单元格。 NSTableView和单元格以相同的方式运行,看起来相似但在每个不同的视图中显示不同的数据。

现在我可以将文件所有者设置为其中一个NSViewController类,但并非所有类都意味着我必须复制笔尖3次。鉴于我正在加载initWithNibName:bundle,我没有看到任何方法首先设置文件所有者。

如何为File's Owner使用多个NSViewControllers的一个笔尖?

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您是否尝试过简单的NSViewController或它的子类,它是视图控制器的抽象超类?

如果可以使用子类中的条件逻辑来管理实例之间的差异,那么一个子类甚至可能就足够了。

无论哪种方式,听起来你都有一些重构要做,但很少。

答案 1 :(得分:0)

我是iOS开发人员而不是OSX,但我们也遇到了这个问题。在我们的例子中,我将使用一个UIView类(当然你将拥有NSView类),然后在该类上添加表,并将表的File的所有者作为该视图类。

我可以在任何视图控制器中通过在该控制器上添加此视图并更改其数据集来随时重用此类。