我想创建一个带有公共枚举的类(由其他模块使用)和内部String原始值(我不希望其他模块读取原始值,但我想在内部读取它相同的模块)。
我知道我可以创建另一个接收枚举的私有函数并返回一个String,但我想避免这种情况。
答案 0 :(得分:1)
我认为这是不可能的,我试着先这样做:
public enum Emotion {
case Hate = EmotionInner.Hate, Love = EmotionInner.Love
}
internal enum EmotionInner: String {
case Hate = "hate", Love = "love"
}
但它不会编译。
你的枚举至少应该是相同的类型 - 所以如果你想拥有rawValue()
,它将在两个枚举中都有它。而且你不能像rawValue()
或final
那样static
。
顺便说一句,也许为它制作一个功能并不是坏事?