如何避免 Swift 中有大文件?
How to avoid having large files in Swift?
所以我有一个 Swift
文件,其中包含一些 class Whatever
。这个 class 有很多私人财产。像这样:
class Whatever
{
private let privateString = "Blabla"
private let privateInt = 125
// a lot of code here
}
我想在 单独的 文件中为此 class 创建一个扩展。只是为了避免拥有包含大量代码的大文件。但我不能。单独文件中的扩展无法访问 class 的私有属性。所以我不得不要么在内部创建私有属性,要么维护一个大文件。除了为此功能创建模块外,是否有解决此问题的技术方案?
您无法从其他文件访问私有属性。
我能想到的唯一可能对您有帮助的是使用 private(set)
替换 private
,这为您提供了从其他文件的 read-only 访问权限。
这在 iOS 编程中很少出现,但我认为很多 iOS 程序员本能地知道这一点,让你建模 类 只是存储值,也许一些非常基本的方法,然后你有可以修改模型的模型控制器 类,在 Mac OS 中我们总是谈论模型,模型控制器,视图控制器和视图,但是实际上,我认为这是模型、视图、控制模式和模型、视图、演示者模式的组合,模型控制是真正的控制器,视图控制器是呈现。
所以我有一个 Swift
文件,其中包含一些 class Whatever
。这个 class 有很多私人财产。像这样:
class Whatever
{
private let privateString = "Blabla"
private let privateInt = 125
// a lot of code here
}
我想在 单独的 文件中为此 class 创建一个扩展。只是为了避免拥有包含大量代码的大文件。但我不能。单独文件中的扩展无法访问 class 的私有属性。所以我不得不要么在内部创建私有属性,要么维护一个大文件。除了为此功能创建模块外,是否有解决此问题的技术方案?
您无法从其他文件访问私有属性。
我能想到的唯一可能对您有帮助的是使用 private(set)
替换 private
,这为您提供了从其他文件的 read-only 访问权限。
这在 iOS 编程中很少出现,但我认为很多 iOS 程序员本能地知道这一点,让你建模 类 只是存储值,也许一些非常基本的方法,然后你有可以修改模型的模型控制器 类,在 Mac OS 中我们总是谈论模型,模型控制器,视图控制器和视图,但是实际上,我认为这是模型、视图、控制模式和模型、视图、演示者模式的组合,模型控制是真正的控制器,视图控制器是呈现。