Swift : 使用多个 swift 文件或仅使用一个 viewController?保持清洁

Posted

技术标签:

【中文标题】Swift : 使用多个 swift 文件或仅使用一个 viewController?保持清洁【英文标题】:Swift : Using multiple swift files or not with only one viewController? Keeping it clean 【发布时间】:2020-05-01 17:52:17 【问题描述】:

我是 swift 编程的新手。现在我已经完成了一门课程并且非常喜欢它。现在我是一名音乐家,在开始这门课程之前,我已经知道要制作什么应用程序。所以我开始制作这个音乐播放应用程序,并且已经对它的组合方式感到非常满意。关于我的问题:

我一直在将我的所有函数、变量和出口编码到主 ViewController.swift 文件中。它的阅读时间很长,我在想是否最好将一些功能分开在不同的 swift 文件中。现在据我了解,如果您创建彼此不直接相关的类,则不同的 .swift 文件会发挥作用,但到目前为止,我的所有代码都与这个单一的 ViewController (即主屏幕)相关。忽略在我的编码中可能会更好的效率,我应该继续在这个单个文件中进行,还是应该开始区分我的代码的某些部分并将它们放在他们自己的 swift 文件中?

好的,在此先感谢您,也非常感谢您提供本网站上的所有宝贵信息。这是一个非常了不起的社区。 -帕特里克

【问题讨论】:

您确定您的代码不能分解为多个类吗?阅读 MVC 模式并确保将模型、视图和控制器分开。 “如果您创建彼此不直接相关的类,则不同的 .swift 文件会发挥作用”这不是真的。不同 Swift 文件中的东西可以相互引用。 我明白了!谢谢,我会尝试用 MVC 模式来组织它。课程中提到并解释了它,但从未真正将它付诸实践。感谢您指出这一点。 【参考方案1】:

首先,我的代码结构是这样的:ViewController 分为 3 个文件,第一个文件中包含声明以及覆盖方法和 obj-C 方法,第二个文件中我放置了委托,在每个委托的扩展名,首先有一个独特的扩展名,我在其中放置了所有辅助方法。 如果应用程序只包含一个 ViewController,您可以将所有内容留在主程序中,但如果应用程序将更加复杂和结构化,则最好创建由父 ViewController 提供的第二个 viewController,您可以在其中执行所有您需要做的事情。

【讨论】:

感谢安德里亚的分享!

以上是关于Swift : 使用多个 swift 文件或仅使用一个 viewController?保持清洁的主要内容,如果未能解决你的问题,请参考以下文章

swift Swift Playground展示了如何使用AVAudioPlayerNode,AVAudioMixerNode,AVAudioEng在背景音频文件上播放多个wav文件

如何使用 alamofire 将多个 PDF 文件上传到服务器? #Swift 4 #IOS [重复]

PhysicsBody 内的 Swift SpriteKit 接触检查

iOS,Swift:串行下载多个文件并将所有文件的单个进度条显示为一个进度

Swift:来自 XIB 文件的多个自定义 TableViewCell

使用致命错误刷新tableview时应用程序崩溃:索引超出范围Swift3