在哪里放置视图控制器相关的枚举
Where to place view controller related enum
情况
我有一个带有多个子视图控制器的页面视图控制器。
每个子视图控制器都略有不同。
为了便于管理,我定义了enum MyPageViewChild
enum MyPageViewChild {
case someName...
case someName...
case someName...
case someName...
case someName...
case someName...
case someName...
}
问题
我正在努力寻找放置枚举的最佳文件。
当枚举很短时(就像除了 case 声明之外没有其他 var 和 funcs),我可能会把它放在与页面视图控制器相同的文件中。
当枚举很长时,比如有许多额外的 var 和 func,它应该放在某个地方,但不能放在与页面视图控制器相同的文件中。
问题
它与视图控制器密切相关,所以我打算创建一个文件 PageViewChild.swift 并将其直接放置在与页面视图控制器相同的位置。
所以目录(或者实际上 Xcode 组)应该是这样的。
- ViewController
- MyPageViewChild.swlft <- enum among with view controllers
- MyPageViewController.swift
- MyPageViewChildOne
- MyPageViewChildTwo
- MyPageViewChildThree
上面的例子可以吗,还是应该放在项目中的模型目录或枚举目录下?
首先,我不得不说这是一个基于意见的问题,它真的取决于你的代码组织。
无论如何,在 class 范围内或范围外声明枚举都没有区别。你唯一要记住的是,如果你需要为它获取引用,你必须指定声明枚举的位置
SomeClass.Enum
我认为,如果枚举与其他一些 class 密切相关,则可以在相关 class 的范围内声明枚举。例如,我们可以在 Swift 的新版本中看到这种行为,其中许多枚举 已重命名 (基本上,枚举已移至相关 class 的范围和重命名为巧妙的自我描述的更短名称)
很好的例子可以是为与 UIControl
相关的事件重命名枚举
UIControlEvents -> UIControl.Event
那么你看到那个策略了吗?所以,决定吧。
情况
我有一个带有多个子视图控制器的页面视图控制器。 每个子视图控制器都略有不同。
为了便于管理,我定义了enum MyPageViewChild
enum MyPageViewChild {
case someName...
case someName...
case someName...
case someName...
case someName...
case someName...
case someName...
}
问题
我正在努力寻找放置枚举的最佳文件。
当枚举很短时(就像除了 case 声明之外没有其他 var 和 funcs),我可能会把它放在与页面视图控制器相同的文件中。
当枚举很长时,比如有许多额外的 var 和 func,它应该放在某个地方,但不能放在与页面视图控制器相同的文件中。
问题
它与视图控制器密切相关,所以我打算创建一个文件 PageViewChild.swift 并将其直接放置在与页面视图控制器相同的位置。
所以目录(或者实际上 Xcode 组)应该是这样的。
- ViewController
- MyPageViewChild.swlft <- enum among with view controllers
- MyPageViewController.swift
- MyPageViewChildOne
- MyPageViewChildTwo
- MyPageViewChildThree
上面的例子可以吗,还是应该放在项目中的模型目录或枚举目录下?
首先,我不得不说这是一个基于意见的问题,它真的取决于你的代码组织。
无论如何,在 class 范围内或范围外声明枚举都没有区别。你唯一要记住的是,如果你需要为它获取引用,你必须指定声明枚举的位置
SomeClass.Enum
我认为,如果枚举与其他一些 class 密切相关,则可以在相关 class 的范围内声明枚举。例如,我们可以在 Swift 的新版本中看到这种行为,其中许多枚举 已重命名 (基本上,枚举已移至相关 class 的范围和重命名为巧妙的自我描述的更短名称)
很好的例子可以是为与 UIControl
UIControlEvents -> UIControl.Event
那么你看到那个策略了吗?所以,决定吧。