我想创建一个带有公共(public)枚举(供其他模块使用)和内部字符串原始值的类(我不希望其他模块读取原始值,但我确实想在内部读取它同一个模块)。
我知道我可以创建另一个私有(private)函数来接收枚举并返回一个字符串,但我想避免这种情况。
最佳答案
我认为这是不可能的,我先尝试这样做:
public enum Emotion {
case Hate = EmotionInner.Hate, Love = EmotionInner.Love
}
internal enum EmotionInner: String {
case Hate = "hate", Love = "love"
}
但是它不会编译。
你的枚举至少应该是相同的类型 - 所以如果你想要 rawValue()
它会在两个枚举中都有它。而且你不能使 rawValue()
像 final
或 static
那样。
顺便说一句,也许为它做一个函数不是一个坏方法?
关于xcode - Swift 中具有内部原始值的公共(public)枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805150/