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。
答案 0 :(得分:0)
你需要使ConditionType
等于并且创建一个op ==来解释是否需要匹配的类型是相同的,或者所包含的值是否也需要匹配。