符合 Swift 中 CaseIterable 协议的枚举中的案例顺序?

May*_*ace 4 enums swift

符合CaseIterable协议的枚举中的案例顺序是否保证是声明的顺序?

enum MyEnum: CaseIterable {
    case test
    case foo
    case bar
    case play
}

print(MyEnum.allCases)
Run Code Online (Sandbox Code Playgroud)

将打印:

[MyEnum.test, MyEnum.foo, MyEnum.bar, MyEnum.play]

我想知道这个订单是否有保证。

从这篇博客我们可以看出,swift编译器解析的方式,顺序是有保证的。但是我找不到任何文件证明这种行为是有保证的并且不会改变。

PS 这不是XYZ问题的情况。我只想了解 Swift 中的这种特殊行为。