加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何根据它的属性值 – Swift获取Enum的rawValue

发布时间:2020-12-14 04:37:57 所属栏目:百科 来源:网络整理
导读:这是我的枚举: enum Object: Int{ case House1 = 0 case House2 = 1 var descriptor:String{ switch self{ case .House1: return "Cottage" case .House2: return "House" } }} 我想知道有没有办法让rawValue返回,如果我提供描述符的值? 例如,如果我的字符
这是我的枚举:

enum Object: Int{

    case House1 = 0
    case House2 = 1

    var descriptor:String{
        switch self{
        case .House1: return "Cottage"
        case .House2: return "House"
        }
    }
}

我想知道有没有办法让rawValue返回,如果我提供描述符的值?

例如,如果我的字符串是“Cottage”,我想知道Enum值
(它应该返回0)

我怎样才能做到这一点?

解决方法

您可以为枚举创建一个初始化器,它接受描述符并返回它的枚举值,然后只需调用enumValue.rawValue.请参阅以下内容:

enum Object: Int{

    case House1 = 0
    case House2 = 1

    var descriptor:String{
        switch self{
        case .House1: return "Cottage"
        case .House2: return "House"
        }
    }

    init(descriptor: String) {
        switch descriptor {
            case "Cottage": self = .House1
            case "House": self = .House2
            default: self = .House1 // Default this to whatever you want
        }
    }
}

现在做一些像rawVal = Object(描述符:“House”).rawValue

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读