Cla*_*lis 3 syntax enums ios type-alias swift
好吧,我已完成了我的作业并阅读了我能找到的内容,但我似乎无法找到是否可以用Swift完成.我有一个我在整个地方使用的枚举:SomeEnum如果它case是一个冗长SomeEnum.SomeLengthyCaseName而我厌倦了在我的代码中看到它.我不想重构,因为我喜欢新手维护我的代码的情况的描述性.
所以这就是问题:是否有可能创建一个typealiasfor SomeEnum.SomeLengthyCaseName?如果是这样,怎么样?这是我尝试过的:
enum SomeEnum {
case SomeLengthyCaseName
}
typealias SLCN = SomeEnum.SomeLengthyCaseName
Run Code Online (Sandbox Code Playgroud)
这是语法,但Xcode给出了一个编译错误,说" SomeLenghtyCaseName不是它的成员" SomeEnum.
预备,准备,开始!
这是一个误导性的错误信息.
真正的问题是,SomeLengthyCaseName是不是一个类型.因此,您不能使用typealias,这仅适用于类型的别名.(例如,你可以说typealias SE = SomeEnum.)
相反,您可以使用全局常量:
let SLCN = SomeEnum.SomeLengthyCaseName
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,enum本身的静态常量:
enum SomeEnum {
case SomeLengthyCaseName
static let SLCN = SomeEnum.SomeLengthyCaseName
}
let x: SomeEnum = .SLCN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |