My Swift Xcode项目的主要类是NSViewController
子类(此后称为“主控制器”),其长度约为4k行。与应用程序的主窗口和主要操作相关联的大多数逻辑都在此文件中,作为类的方法。
这导致Xcode在自动完成和一般打字时非常慢。我想将逻辑分成几个较小的文件,这有望加快我的工作流程。我该如何继续这样做?
如果我必须更具体,我猜我想要实现的是:将方法从这个主控制器移动到一个单独的文件/类,然后从主控制器调用我移动的任何这些方法(理想情况下,此函数在单独的文件中也可以调用主控制器内的其他方法。
extension
是否可以帮助解决这个问题?
由于
答案 0 :(得分:5)
您基本上已经使用不需要使用继承或子类的扩展来回答您自己的问题。
使用extension
s,您可以将代码移动到其他文件,仍可访问所有内容,而不是原始的ViewController
类,就好像它位于同一个文件中一样。
示例:
class viewController : NSViewController {
}
// new file
extension viewController {
}
答案 1 :(得分:1)
我会创建一个新的控制器类,并将其设置为控制器的父级。
通过这种方式,您可以将方法移动到新的父控制器,而无需更改应用程序的逻辑。