Swift 中的 Kotlin 枚举类

Rin*_*cha 3 enums kotlin swift

我想在 Swift 中使用这个 Kotiln 代码,但我不知道如何获得最好和干净的解决方案:

enum class ProType(val gCode: String, val cCode: String) {
    FUND("FN", "PP"),
    STOCK("VA", "")
}
Run Code Online (Sandbox Code Playgroud)

Kir*_* S. 7

从技术上讲,@esemusa 的答案是正确的。但是,如果枚举中有超过 5 个值,则最终会很难为每个属性维护巨大的 switch 语句。

所以对于这样的情况我更喜欢这样做:

struct ProTypeItem {
    var gCode: String
    var cCode: String
}

struct ProType {
    static let fund = ProTypeItem(gCode: "FN", cCode: "PP")
    static let stock = ProTypeItem(gCode: "VA", cCode: "")
}
Run Code Online (Sandbox Code Playgroud)

你可以简单地将它用作ProType.stockProType.fund.gCode

您还可以使 ProTypeItem 可比较、可等同等。