gpt4 book ai didi

ios - 枚举大小写的 Swift typealias

转载 作者:搜寻专家 更新时间:2023-10-31 21:58:16 25 4
gpt4 key购买 nike

好吧,我已经完成了作业并阅读了我能找到的内容,但我似乎无法找到是否可以使用 Swift 来完成。我有一个到处都在使用的枚举:SomeEnum 如果它是 case 则它是一个冗长的 SomeEnum.SomeLengthyCaseName 并且我我厌倦了在我的代码中看到它。我不想重构,因为我喜欢新人维护我的代码时案例的描述性。

所以问题来了:是否可以为 SomeEnum.SomeLengthyCaseName 创建一个 typealias?如果是这样,怎么办?这是我尝试过的:

enum SomeEnum {
case SomeLengthyCaseName
}

typealias SLCN = SomeEnum.SomeLengthyCaseName

这是语法,但 Xcode 给出编译器错误,指出“SomeLenghtyCaseName 不是 SomeEnum 的成员。”

准备就绪,出发!

最佳答案

那是一个 misleading error message .

真正的问题是 SomeLengthyCaseName 不是类型。因此,您不能使用 typealias,它仅适用于 types 的别名。 (例如,您可以说 typealias SE = SomeEnum。)

相反,您可以只使用全局常量:

let SLCN = SomeEnum.SomeLengthyCaseName

或者,更好的是,枚举本身的静态常量:

enum SomeEnum {
case SomeLengthyCaseName
static let SLCN = SomeEnum.SomeLengthyCaseName
}

let x: SomeEnum = .SLCN

关于ios - 枚举大小写的 Swift typealias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com