在一个swift
文件中创建多个类被认为是不好的技术,还是最好swift
为每个类创建一个单独的文件?
例如,哪个更好:
A. ViewController.swift中的多个类:1. alpha.swift:
class alpha: UIViewController { ... } class beta: UIWebView { ... } class gamma: UINavigationController { ... }B.为每个类分隔.swift文件:
1.在alpha.swift中:
class alpha: UIViewController { ... }
2.在beta.swift中:
class beta: UIWebView { ... }
3.在gamma.swift中:
class gamma: UINavigationController { ... }
Emilie.. 33
简答:这取决于.
答案很长:
如果你有很小的短类,强烈绑定在一起,将它放在同一个文件中是正确的.
如果你有很长的,不相关的类,那么你最好将它们放在不同的文件中.
简答:这取决于.
答案很长:
如果你有很小的短类,强烈绑定在一起,将它放在同一个文件中是正确的.
如果你有很长的,不相关的类,那么你最好将它们放在不同的文件中.
基于最近几天的痛苦调试和互联网搜索,我对这个问题有不同的答案。我是具有15年以上经验的c ++开发人员。通过这种语言,我熟悉一些需要protected
访问的设计技术。由于Swift不支持它,而且事实证明他们将在不久的将来不支持它,因此我开始使用private
access并在同一文件中编写几个类。这样,我就解决了丢失的问题protected
修饰符(私有功能在同一文件中可见,因此它们对于同一文件中的所有类都是可见的,并且如果这些类是派生类,则私有实际上在受保护的情况下工作)。好了,一切都很好,在发现我的应用程序因EXC_BAD_ACCESS code = 1崩溃而感到高兴之前,我很高兴...异常不是因为我的代码,而是因为它的成员布局存在某种错误。例如,如果我通过实例变量从派生类中调用了一个函数a(),则将调用func b()。b()也是同一类的成员,并且在a()之前定义。这就是为什么某些函数会抛出错误的访问异常的原因。实例指针已损坏。在将所有3个类都移至独立文件之后,一切看起来都很好。
不知道这是实际原因还是我做错了事,但是当您在同一文件中定义多个类时,并非100%的情况都具有已定义的行为。可能是编译器问题,Swift是年轻的语言,即使我正在使用应该稳定的Gold Master studio进行测试,仍然存在很多错误。
如果课程是连接的,这不是一种糟糕的技术.
要确定它们是否已连接,请问:可以使用一个类而不使用另一个类吗?
如果是,那么您应该有两个不同的文件,因为您可能只需要使用两个文件中的一个.
例如,在C++中,集合具有迭代器的内部类.(我知道这是一个C++示例,但问题与语言无关).
虽然如果这些类彼此无关(在同一个视图上不计算),那么它们应该各有各自的类.