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