使用guard或者在Swift中的情况下从枚举中提取值

时间:2017-12-06 13:47:20

标签: swift

我对案例进行了枚举:

 case one(value: myClassOne)
 case two(value: myClassTwo)

我想查看该枚举的值。现在我结束了:

 switch self.model! {
        case .one:
            // Great, my case here
        default:
            break
        }

但我宁愿做类似的事情:

if case self.model(let value) is myClassOne { // do smth } // Not compiling

是否有简单的方法可以简单地提取枚举值并检查某些条件或类的相等性?

1 个答案:

答案 0 :(得分:5)

这是正确的语法:

if case .one(value: let value) = self.model {
    // do something
}

guard case .one(value: let value) = self.model else {
    //handle case where self.model != .one
}
//do something