决定何时应该在Cocoa应用程序中细分nib

时间:2009-10-02 13:02:51

标签: cocoa refactoring

如果之前有人问过,请道歉。我搜索过,找不到它。

在我的应用程序中,我有大约10个nib文件,其中大多数文件包含一个重要的视图对象和一些子视图/控件。

你会在什么时候考虑将碎粒分成几块?例如,在我的一个笔尖中,我有一个NSCollectionview和同一个笔尖中的原型视图(相对简单)。你会将原型视图放在一个单独的笔尖中吗?

对我来说有一个明显的权衡。如果细分太多,则会失去Interface构建器的许多优点(几何排列,设置调整大小的掩码等),并且需要编写更多代码以确保正确排列视图。另一方面,如果你将所有东西放入一个笔尖......那么......我们都知道这是一个重构的噩梦,加载缓慢等等。

那么你如何决定何时画这条线?看看我自己的代码,我想我已经使用了以下内容;

(a)始终拆分不总是需要加载的部件

(b)永远不要在笔尖中放置多个相对复杂的控件(例如NSTableview,NSCollectionview等)

编辑: - 我应该说我有时会破坏这些规则。例如,我有一个窗口用于配置某种类型的对象。它有一个完整的Master-detail界面,带有NSTableview(主)和一堆文本字段(细节)。我猜这违反了我的每个笔尖规则的复杂视图。

您使用什么规则?

1 个答案:

答案 0 :(得分:1)

最佳做法始终是意见问题,至少部分是这样。但是,我认为你的想法正在走上正轨。我喜欢根据文件所有者来考虑我的NIB文件 - 管理该NIB内容的控制器。

例如,如果您使用的是NSViewController架构,那么每个视图都有一个NIB是完全合理的。如果你不是,那么看到加载多个共享同一所有者的NIB的优势可能会有点困难。

原型视图在同一个NIB文件中共存的NSCollectionView示例是 在NIB中共存的一个很好的例子。如果我是你,我不会打破它。