在一个.swift文件中创建多个类是可以接受的,还是应该为每个类创建一个单独的.swift文件?

 终结者 发布于 2023-01-09 12:57

在一个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

简答:这取决于.

答案长:
如果你有很小的类,强烈绑定在一起,将它放在同一个文件中是正确的.
如果你有很长的,不相关的类,那么你最好将它们放在不同的文件中.

3 个回答
  • 简答:这取决于.

    答案长:
    如果你有很小的类,强烈绑定在一起,将它放在同一个文件中是正确的.
    如果你有很长的,不相关的类,那么你最好将它们放在不同的文件中.

    2023-01-09 13:00 回答
  • 基于最近几天的痛苦调试和互联网搜索,我对这个问题有不同的答案。我是具有15年以上经验的c ++开发人员。通过这种语言,我熟悉一些需要protected访问的设计技术。由于Swift不支持它,而且事实证明他们将在不久的将来不支持它,因此我开始使用privateaccess并在同一文件中编写几个类。这样,我就解决了丢失的问题protected修饰符(私有功能在同一文件中可见,因此它们对于同一文件中的所有类都是可见的,并且如果这些类是派生类,则私有实际上在受保护的情况下工作)。好了,一切都很好,在发现我的应用程序因EXC_BAD_ACCESS code = 1崩溃而感到高兴之前,我很高兴...异常不是因为我的代码,而是因为它的成员布局存在某种错误。例如,如果我通过实例变量从派生类中调用了一个函数a(),则将调用func b()。b()也是同一类的成员,并且在a()之前定义。这就是为什么某些函数会抛出错误的访问异常的原因。实例指针已损坏。在将所有3个类都移至独立文件之后,一切看起来都很好。

    不知道这是实际原因还是我做错了事,但是当您在同一文件中定义多个类时,并非100%的情况都具有已定义的行为。可能是编译器问题,Swift是年轻的语言,即使我正在使用应该稳定的Gold Master studio进行测试,仍然存在很多错误。

    2023-01-09 13:00 回答
  • 如果课程是连接的,这不是一种糟糕的技术.

    要确定它们是否已连接,请问:可以使用一个类而不使用另一个类吗?

    如果是,那么您应该有两个不同的文件,因为您可能只需要使用两个文件中的一个.


    例如,在C++中,集合具有迭代器的内部类.(我知道这是一个C++示例,但问题与语言无关).

    虽然如果这些类彼此无关(在同一个视图上不计算),那么它们应该各有各自的类.

    2023-01-09 13:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有