将 Swift 枚举的 rawValue 转换为 Pascal Case (帕斯卡命名法)。
在 Swift 中,我们经常使用枚举来表示用 Pascal Case 定义的内容,例如颜色和图像资源。 为了实现这一点,我们必须手动覆盖编译器合成的 RawValue,因为它输出的是 Camel Case (驼峰命名法),这令人沮丧。
示例
enum Colors: String {
case neonGreen = "NeonGreen"
}
👎
使用 PascalCaseKit, RawValue 会自动转换为 PascalCase。
enum Colors: String, PascalCaseRepresentable {
case neonGreen
}
Colors.neonGreen.rawValue // NeonGreen
👍
转换为 Pascal Case 应该对消费者完全透明。 期望的字符串必须通过 rawValue
访问,而不是通过一个新的变量。
由于上述核心设计决策,枚举 case 不能像通常那样选择覆盖 rawValue。 任何覆盖都会被忽略。
enum Colors: String, PascalCaseRepresentable {
case neonGreen = "blue"
}
Colors.neonGreen.rawValue // NeonGreen
🤷