在Swift中具有内部原始值的公共枚举

时间:2015-11-19 13:21:29

标签: xcode swift enums swift2

我想创建一个带有公共枚举的类(由其他模块使用)和内部String原始值(我不希望其他模块读取原始值,但我想在内部读取它相同的模块)。

我知道我可以创建另一个接收枚举的私有函数并返回一个String,但我想避免这种情况。

1 个答案:

答案 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

顺便说一句,也许为它制作一个功能并不是坏事?

相关问题