包含具有关联值的枚举的数组

时间:2015-07-19 12:39:30

标签: swift

enum ConditionType {
    case Normal
    case Sick
    case Plagued
    case Poisoned(Double)
    case Drunk(Double)
    case Healing(Double)
    case Starving
    case NearDeath(Double)
    case Sleepy
}

var conditions: [ConditionType]

func addCondition(condition: ConditionType) {
    if conditions.contains(condition) == false {
        conditions.append(condition)
    }
}

在" if conditions.contains(condition)== false {"上面的行我收到以下错误:

无法调用'包含'参数列表为'(ConditionType)'。这是什么交易?如果我从枚举元素中删除关联的值,那么它编译就好了。

我正在运行XCode 7.0 Beta 3。

1 个答案:

答案 0 :(得分:0)

你需要使ConditionType等于并且创建一个op ==来解释是否需要匹配的类型是相同的,或者所包含的值是否也需要匹配。