xcode - Swift 中具有内部原始值的公共(public)枚举

标签 xcode swift enums swift2

我想创建一个带有公共(public)枚举(供其他模块使用)和内部字符串原始值的类(我不希望其他模块读取原始值,但我确实想在内部读取它同一个模块)。

我知道我可以创建另一个私有(private)函数来接收枚举并返回一个字符串,但我想避免这种情况。

最佳答案

我认为这是不可能的,我先尝试这样做:

public enum Emotion {
    case Hate = EmotionInner.Hate, Love = EmotionInner.Love
}
internal enum EmotionInner: String {
    case Hate = "hate", Love = "love"
}

但是它不会编译。 你的枚举至少应该是相同的类型 - 所以如果你想要 rawValue() 它会在两个枚举中都有它。而且你不能使 rawValue()finalstatic 那样。

顺便说一句,也许为它做一个函数不是一个坏方法?

关于xcode - Swift 中具有内部原始值的公共(public)枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805150/

相关文章:

ios - MyClass 不可用 : cannot find Swift declaration for this class

swift - 为什么这个递归的 Swift 枚举会挂起 XCode?

python - 是否可以在 Python 3 中直接导入枚举字段?

iphone - 测试一个 UITableView,其中列出了视频库

ios - 将通用应用程序更改为不支持原生 iPad 的应用程序

ios - 2 UITextField 和 1 UIDatePicker : How can I let UIDatePicker know where to display the . 日期

SwiftUI:导航到 View 而不获取后退按钮

java - java枚举器中的私有(private)构造函数

mysql - 为什么 MySQL 对 ENUM 值加 1?

Xcode:在变量 View 中更改字体