Ios 放置视图控制器相关枚举的位置 处境

Ios 放置视图控制器相关枚举的位置 处境,ios,swift,enums,directory,uipageviewcontroller,Ios,Swift,Enums,Directory,Uipageviewcontroller,我有一个具有多个子视图控制器的页面视图控制器。 每个子视图控制器略有不同 为了便于管理,我定义了enum MyPageViewChild enum MyPageViewChild { case someName... case someName... case someName... case someName... case someName... case someName... case someName... } 问题 我正在努

我有一个具有多个子视图控制器的页面视图控制器。 每个子视图控制器略有不同

为了便于管理,我定义了enum MyPageViewChild

enum MyPageViewChild {
    case someName...
    case someName...
    case someName...
    case someName...
    case someName...
    case someName...
    case someName...
}

问题 我正在努力找出放置枚举的最佳文件的位置

当enum很短时(比如没有额外的var&funcs,除了该case声明),我可能可以将它与页面视图控制器放在同一个文件中

当枚举相当长时,就像有许多额外的var&func一样,它应该放在某个地方,但不能放在与页面视图控制器相同的文件中


问题: 它与视图控制器密切相关,因此我计划创建一个文件PageViewChild.swift,并将其直接放置在与页面视图控制器相同的位置

所以目录(或者实际上是Xcode组)是这样的

- ViewController
    - MyPageViewChild.swlft <- enum among with view controllers
    - MyPageViewController.swift
    - MyPageViewChildOne
    - MyPageViewChildTwo
    - MyPageViewChildThree
-视图控制器

-MyPageViewChild.swlft首先,我不得不说这是一个基于观点的问题,它实际上取决于您的代码组织

无论如何,在类范围内或范围外声明enum并没有什么区别。您必须记住的唯一一件事是,如果需要获取它的引用,则必须指定枚举的声明位置

SomeClass.Enum
我认为,若enum和其他类密切相关,那个么在相关类的作用域内声明enum是可以的。例如,我们可以在Swift的新版本中看到这种行为,其中许多枚举已重命名(基本上,枚举已移动到相关类的作用域,并重命名为聪明的自描述短名称)

很好的例子可以是重命名与
UIControl

UIControlEvents -> UIControl.Event

你看到这个策略了吗?所以,决定。

我为枚举创建一个不同的文件,并将所有枚举存储在那里。将此文件作为帮助者保留,因为它在我的整个项目中都有帮助。此外,它简化了文件结构,任何人都可以随时轻松访问它,而无需搜索捆绑包中的文件。