如何构建一个非常大的Objective-C类?

rui*_*eco 1 cocoa class objective-c

我有一个相当复杂的窗口,由一个控制器类支持,显然正在增长以满足我的视图窗口的需要.虽然我相信我坚持使用适当的MVC,但我仍然无法管理一个相当大的控制器类.

你如何分解你的对象?也许使用类别?例如,一个类别用于处理窗口的底部,另一个类别用于处理我的NSOutlineView,另一个类别用于处理表格,依此类推?

欢迎任何想法或建议.

Ale*_*lex 6

听起来它是一个复杂的窗口控制器,正在发展到无法管理的比例?由于应用程序(如iApps)在单个窗口中完成大部分工作,因此这将成为一个更常见的问题.

从Leopard开始,推荐的分解方法是将窗口的每个部分分解为自己的NSViewController子类.因此,例如,您的大纲视图有一个视图控制器,每个内容视图都有一个视图控制器等.

另外,我想首先使用#pragma marks将代码文件分成段,除了类别之外,我还喜欢使用类扩展来实现私有方法.