我应该将扩展名保留在它们自己的 "Extensions" 文件中吗?

Should I keep extensions in their own "Extensions" file?

我有一些扩展我想在我的项目中使用,但我不确定我是否应该将它们保存在他们自己的文件中,或者我是否应该在每个 viewController 中做特定的扩展文件。

哪个更有效或更好?

我认为这主要是风格问题而不是效率问题。也就是说,是的,您应该将它们放在自己的文件中。这样,如果您想在项目之间重复使用它们,只需将它们拖放到新项目中即可。

一般来说,为了使事情简单化,最好使文件尽可能小和模块化。如果某项功能不专门属于该文件或 viewcontroller,那么我认为您应该将其分解为自己的文件。

我通常按照Objective-C类相似的命名约定制作文件。

所以,我将我的字符串扩展放在 "String+Extensions.swift" 中,将我的 UIViewController 扩展放在 "UIViewController+Extensions.swift"

如果我想进一步细分,那么我会在+之后用不同的词制作更多的文件。在文件名中,对于已经做了很多 Objective-C 的 iOS 开发人员来说,+ 表示 "has categories",对于 Swift 文件,表示 "has extensions" .